Mar*_*une 18
您应该使用具有正确字符属性的正则表达式.在这种情况下,您可以反转Alnum类(字母和数字字符):
"?¡ Marc-André !?".gsub(/\p{^Alnum}/, '') # => "MarcAndré"
Run Code Online (Sandbox Code Playgroud)
对于更复杂的情况,假设您还想要标点符号,您还可以构建一组可接受的字符,例如:
"?¡ Marc-André !?".gsub(/[^\p{Alnum}\p{Punct}]/, '') # => "¡MarcAndré!"
Run Code Online (Sandbox Code Playgroud)
对于所有角色属性,您可以参考doc.