我想删除字符串中的非字母数字字符,但不删除国际字符,如重音字母。我也想保留空白。以下是我到目前为止的情况:
the_string = the_string.gsub(/[^a-z0-9 -]/i, '')
这确实删除了国际重音字母字符。
我使用的解决方案:
the_string = the_string.gsub(/[^\p{Alnum}\p{Space}-]/u, '')
有效!感谢。
答案 0 :(得分:11)
您可以使用character properties执行此操作:
the_string.gsub(/[^\p{Alnum} -]/, '')
您可能还想使用\p{Space}
来保留其他空格,例如非破坏空格等。
the_string.gsub(/[^\p{Alnum}\p{Space}-]/, '')
(这也保留了你的正则表达式中的-
字符。)