输入1:RC000030034
替换1:RC-000030034
输入2:RC100003282
替换2:RC1-00003282
希望在字符串中的第一个0之前添加连字符。
输入将始终包含11个字符。
最终输出将始终为12个字符。
连字符后面永远不会有字母字符。
答案 0 :(得分:0)
基于此:"希望在字符串中的第一个0之前添加连字符。"
javascript中的示例:
> var re = /^([^0]*)0(.*)$/
> "RC000030034".replace(re,"$1-$2")
'RC-00030034'
bash中的(echo + sed):
$ echo 'RC00030034' | sed -e 's/^\([^0]*\)0\(.*\)$/\1-\2/'
RC-0030034
答案 1 :(得分:0)
output = input.replace("0", "-0")
或您所用语言的同等代码
大多数语言都为字符串提供了某种替换方法。上面的例子在javascript中工作,它将'-0'替换为'0'的第一个出现。 在python中,有一个replace()重放所有次出现;在那里,您必须使用可选参数来指示最大数字:
output = input.replace("0", "-0", 1)
在perl中,您可以使用正则表达式:
$input =~ s/0/-0/;
将所有字符串放在一个文件中(每个字符串在一个单独的行上),您可以使用以下shell命令:
perl -ne 's/0/-0/; print' inputfile
现在,假设您的输入允许使用RC0A00001234这样的字符串,其中连字符应该在第二个0之前,在A之后(因为我们“连字符后面将不会有字母字符”)。 然后命令必须变为:
perl -ne 's/(0\d*)$/-$1/; print' inputfile