删除除 ruby 中的数字和小数点之外的所有特殊字符



我想编写一个 ruby 代码,只是为了从字符串中删除除数字和小数点之外的所有特殊字符。我不知道最简单的方法。

例如-我要对其执行操作的字符串是 test1.3eb@j$2.xyz。

现在我只想测试1.3ebj2xyz作为结果。

我想删除所有特殊字符和点(除非点放在两位数之间,即当点被视为小数点时)

请帮我解决这个问题。提前感谢!

通常,特殊字符是字母数字字符以外的任何字符。如果您自己的定义相同,那么您需要一个正则表达式来捕获十进制数以保存它们免于被删除:

(d.d)|[^a-zA-Zd]

红宝石:

re = /(d.d)|[^a-zA-Zd]/
str = 'test1.3eb@j$2.xyz.'
subst = '\1'
result = str.gsub(re, subst)
puts result

最新更新