【发布时间】:2010-08-05 22:03:27
【问题描述】:
我正在尝试提出一个正则表达式来删除除某些特殊字符之外的所有特殊字符。比如我有一个字符串:
str = "subscripción gustaría♥"
我希望输出为"subscripción gustaría"。
我尝试做的方法是,匹配任何不是 ascii 字符 (00 - 7F) 且不是我想要的特殊字符的内容,并将其替换为空白。
str.gsub(/(=?[^\x00-\x7F])(=?^\xC3\xB3)(=?^\xC3\xA1)/,'')
这不起作用。最后一个特殊字符不会被删除。
有人可以帮忙吗? (这是红宝石 1.8)
更新:我试图让问题更清楚一点。该字符串是 utf-8 编码的。我正在尝试将 ascii 字符加上 ó 和 í 列入白名单,并将其他所有内容列入黑名单。
【问题讨论】: