【问题标题】:Ruby: Replacing bullets pasted from MS WordRuby:替换从 MS Word 粘贴的项目符号
【发布时间】:2016-05-16 10:34:19
【问题描述】:

我需要从 MS Word 粘贴的文本中删除项目符号,但我不知道要匹配什么。

打印到 STDOUT 时,符号显示为 ⢠这些字符的 ascii 代码是 194 和 162。 • 符号的ASCII码是149

对如何使用 JavaScript 或 Ruby 代码进行操作有什么建议吗?

【问题讨论】:

    标签: ascii special-characters


    【解决方案1】:

    在 ruby​​ 中,你应该可以使用类似的东西:

    mystring.gsub(/[\xxx]/,'whatever')

    xxx 是您要查找的字符代码。您可以通过在 irb 中执行 puts mystring 来查看该代码是什么,它应该会显示给您

    【讨论】:

      【解决方案2】:

      我在项目符号上遇到了类似的问题,包括获取您描述的符号。我尝试了各种正则表达式过滤器,但无论是在项目符号点还是那些产生的 ¢ 字符上,都无法正常工作。

      但是,我确实设法找到了一种使用自定义方法过滤项目符号点(或任何类似字符)的方法。它既不漂亮也不理想,但它确实有效:

      def strip_bullet_point(value) 
        first_char = 0
        value.each_char { |c| c =~ /[A-Za-z]/ ? break : first_char += 1 }
      
        value[first_char...value.length]
      end
      

      这也将删除所有前面的空格和其他非字母字符,因为它们也为 =~ 检查返回 nil。

      不要使用/[[:alpha:]]/ 进行表达式匹配,因为这会将 â ¢ 字符视为字母。请注意,/[A-Za-z]/ 会对非英文字符(例如 'ñ')给出假否定。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-10
        • 2014-08-16
        • 1970-01-01
        • 2014-10-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多