我需要刪除字符串中的所有非字母字符和數字除了-
和_
除去大部分從字符串非字母字符的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)幾乎可以回答你的問題。 –
我發佈了基於我刪除的評論的擴展答案。 –