0

我有这样的行:

,,,,,,,,,foo,bar
,,,,,x,,blabla,

使用regex,是否可以仅用相同数量的空格替换行首的逗号,如果可以,如何?

4

3 回答 3

4

sed例子:

$ echo ',,,,,,,,,foo,bar
,,,,,x,,blabla,' | sed ':r;s/^\(,*\),/\1 /;tr'
         foo,bar
     x,,blabla,
于 2012-08-26T20:50:13.127 回答
2

使用 Java,积极回顾:

String s = ",,,,,,,,,foo,bar";
System.out.println(s.replaceAll("(?<=^,+),", " "));
// '         foo,bar'

使用 Python:

> import re
> s = ',,,,,,,,,foo,bar'
> re.sub("^,+", lambda m: len(m.group(0)) * ' ', s)
'         foo,bar'
于 2012-08-26T20:49:45.027 回答
1

perl

perl -pe 's/^,+/q{ } x length $&/e' <<< ',,,,,,,,,foo,bar'
于 2012-08-26T21:43:45.373 回答