正则表达式:匹配此字符串

时间:2010-01-27 09:29:27

标签: ruby regex

我无法弄明白:

22.584\r\n\t\t\tl-6.579-22

我想匹配"\r\n\t\t\t"并替换为单个空格" "。问题是"\t""\r""\n"的数量波动,周围的字符也是如此。

帮助!

6 个答案:

答案 0 :(得分:4)

<德尔> s/\s+/ /g

s/(?:\\[rnt])+/ /g

答案 1 :(得分:0)

在PHP中:

preg_replace("/(?:\\\[trn])+/", " ", $str);

答案 2 :(得分:0)

sed 's/\\[rnt]/ /g;s/  */ /g'

答案 3 :(得分:0)

'22.584\r\n\t\t\tl-6.579-22'.gsub(/(\\[rnt])+/, ' ')

答案 4 :(得分:0)

#!/usr/bin/ruby1.8

s = "22.584\r\n\t\t\tl-6.579-22"
p s                           # => "22.584\r\n\t\t\tl-6.579-22"
p s.gsub(/[\r\n\t]+/, ' ')    # => "22.584 l-6.579-22"

答案 5 :(得分:0)

我将CR-NL视为一个原子:

str.gsub!(/(?:\r\n)+\t+/, ' ')