我需要删除字符串中的所有非字母字符和数字除了-
和_
除去大部分从字符串非字母字符的elisp
对于许多语言中流行的解决方案是使用类似这个[^\\w\\-_]
由于某些原因,与replace-regexp-in-string
一起使用时,该表达式会删除所有内容。
虽然\\W
去除一切,但字母和数字如预期:
(message (replace-regexp-in-string "\\W" "" "Set AA053 Лыв № foo_bar (设)"))
将输出:因为我需要保留的非拉丁字符SetAA053Лывfoobar设
a-zA-Z0-9
不会解决我的问题。
我觉得[这篇文章](http://emacs.stackexchange。com/questions/8261/how-to-determine-if-the-current-character-is-a-letter)几乎可以回答你的问题。 –
我发布了基于我删除的评论的扩展答案。 –