我想编写一个 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