我想删除字符串中的非字母数字字符,但不删除国际字符,如重音字母.我也想保留空白.这是我到目前为止:
the_string = the_string.gsub(/[^a-z0-9 -]/i, '')
Run Code Online (Sandbox Code Playgroud)
这确实删除了国际重音字母字符.
我使用的解决方案:
the_string = the_string.gsub(/[^\p{Alnum}\p{Space}-]/u, '')
Run Code Online (Sandbox Code Playgroud)
有用!谢谢.
mat*_*att 11
您可以使用字符属性来执行此操作:
the_string.gsub(/[^\p{Alnum} -]/, '')
Run Code Online (Sandbox Code Playgroud)
您可能还想使用\p{Space}其他空格,例如非破坏空格等:
the_string.gsub(/[^\p{Alnum}\p{Space}-]/, '')
Run Code Online (Sandbox Code Playgroud)
(这也保留了-你的正则表达式中的角色.)