这是我的输入内容
0,0,0,1
1,023,1230,1,0
,1,0,01-09-2018,1,
我想替换长度为1的0和1。其余的将保持不变。
我已经尝试过使用javascript代码,即用“,”作为分隔符分割所有字符串。然后,检查长度为1的字符串,并根据逻辑替换它们。但这是一种繁琐的方法,需要花费大量时间。 我想要一个可以在整个输入中进行替换的正则表达式。
我已经尝试过以下正则表达式:((0|1)(?<=,))|((0|1)(?=,))
。但是输出错误
输出如下:
N,N,N,Y
Y,023,1230,Y,N
,Y,N,01-09-2018,Y,
答案 0 :(得分:0)
您可以将以下正则表达式与逗号边界一起使用:
(?<![^,])1(?![^,])
(?<![^,])0(?![^,])
替换为适当的子字符串。
仅当用逗号或字符串位置的开头/结尾将它们匹配时,它们才与1
或0
匹配。
(?<![^,])
-向后的否定性匹配,其匹配的位置不是紧跟,
以外的其他字符之前的位置(?![^,])
-否定超前匹配,其匹配的位置不是紧跟,
以外的其他字符。