【发布时间】:2016-05-16 10:34:19
【问题描述】:
我需要从 MS Word 粘贴的文本中删除项目符号,但我不知道要匹配什么。
打印到 STDOUT 时,符号显示为 ⢠这些字符的 ascii 代码是 194 和 162。 • 符号的ASCII码是149
对如何使用 JavaScript 或 Ruby 代码进行操作有什么建议吗?
【问题讨论】:
我需要从 MS Word 粘贴的文本中删除项目符号,但我不知道要匹配什么。
打印到 STDOUT 时,符号显示为 ⢠这些字符的 ascii 代码是 194 和 162。 • 符号的ASCII码是149
对如何使用 JavaScript 或 Ruby 代码进行操作有什么建议吗?
【问题讨论】:
在 ruby 中,你应该可以使用类似的东西:
mystring.gsub(/[\xxx]/,'whatever')
xxx 是您要查找的字符代码。您可以通过在 irb 中执行 puts mystring 来查看该代码是什么,它应该会显示给您
【讨论】:
我在项目符号上遇到了类似的问题,包括获取您描述的符号。我尝试了各种正则表达式过滤器,但无论是在项目符号点还是那些产生的 ¢ 字符上,都无法正常工作。
但是,我确实设法找到了一种使用自定义方法过滤项目符号点(或任何类似字符)的方法。它既不漂亮也不理想,但它确实有效:
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]/ 会对非英文字符(例如 'ñ')给出假否定。
【讨论】: