我想编写一个ruby代码,只是为了删除除数字和小数点之外的字符串中的所有特殊字符。我不知道最简单的方法。
例如 - 我想要执行操作的字符串是test1.3eb@j$2.xyz。
现在我只想测试test1.3ebj2xyz。
我想删除所有特殊字符和点(除非点位于两位数之间,即当点被视为小数点时)
请帮我解决这个问题。提前谢谢!
答案 0 :(得分:1)
通常,特殊字符不是字母数字字符。如果您自己的定义相同,那么您需要一个正则表达式来捕获十进制数以防止它们被删除:
(\d\.\d)|[^a-zA-Z\d]
红宝石:
re = /(\d\.\d)|[^a-zA-Z\d]/
str = 'test1.3eb@j$2.xyz.'
subst = '\\1'
result = str.gsub(re, subst)
puts result