我有这样的行:
,,,,,,,,,foo,bar
,,,,,x,,blabla,
使用 regex ,是否可以仅使用相同数量的空格替换行开头的逗号,如果是怎么样?
答案 0 :(得分:4)
sed
示例:
$ echo ',,,,,,,,,foo,bar
,,,,,x,,blabla,' | sed ':r;s/^\(,*\),/\1 /;tr'
foo,bar
x,,blabla,
答案 1 :(得分: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'
答案 2 :(得分:1)
使用perl
:
perl -pe 's/^,+/q{ } x length $&/e' <<< ',,,,,,,,,foo,bar'