0

我需要轨道中的正则表达式来处理欧洲语言的特殊字符,例如。 é,ä,ö,ü,ß。请帮助我。轨道中特殊字符的正则表达式

+0

你能更具体一些吗?你想匹配所有包含这些字符的字符串?或只是人物?哪些字符被视为_special_?那些不是英文字母? – 2010-12-03 14:09:11

+1

什么是特殊字符?是`` - “`还是`”/“`特殊字符?是`“Α”`和`“В”`? “`”$“`,`”¢“`,`”£“`或者”€“``怎么样?哎,是一个特殊的角色?定义*特殊字符*。你的意思是没有包含在[标准字符集]中的任何内容(http://en.wikipedia.org/wiki/DEC_Radix-50)? – tchrist 2010-12-03 14:10:42

回答

2

正则表达式可以很好地处理“特殊”字符。如果你想匹配一组特殊字符,你需要告诉表达式这些字符是什么。你对“特殊”的定义可能与下一个人不相符。

举例来说,如果你想看看,如果字符串包含任何你上面列出的字符,你可以这样做:

irb(main):001:0> word = "resumé" 
=> "resum\303\251" 
irb(main):002:0> word =~ /[éäöüß]/ 
=> 5 
irb(main):003:0> word.gsub(/é/, 'e') 
=> "resume" 

我希望这有助于!