你好我想清理Ruby中的输入,但同时也没有弄乱我的包含外来字符的字符串。
string1 = string.downcase.gsub(/<(.|\n)*?>/,'')..gsub(“”,“”)。gsub(“,”,“”)。gsub (“'”,“”)。gsub(“_”,“”)。gsub(“;”,“”)。gsub(“ - ”,“”)。gsub(“:”,“”)。gsub (“。”,“”)。worub(“?”,“”)。worub(“!”,“”)。gsub(“^”,“”)。gsub(“%”,“”)。worub ( “$”, “”)
除了要消毒之外,字符串需要除去空格,撇号和除字母之外的所有内容(不确定数字)。我不确定我是否忘了什么,可能是多余的。
我的代码工作正常,只要字符串不包含无害的非英语字符,如重音字母,我希望它能处理,但它们会破坏我的代码。我的猜测是他们被转换为%25和所有这些东西,之后他们就会破裂。事实上,即使我根本没有消毒,它也会破裂。如何告诉Ruby正确处理非英文字符?非常感谢。
答案 0 :(得分:2)
" ' ; te st".gsub(/\W+/, "") # "test"