[英]Regex pattern for string manipulation
我有以下几行:
{ "diameter":6 } { 60 } {"din":Anchor-1 R 6/5SPx3} {"length":30 } { Impact anchor } {"diameter":6 } { Online:0 } {, de03042 }
我正在尝试删除以下内容:
{ "diameter":6 } { 60 }
更改为{ "diameter":6 }{ 60 }
{ 60}
将从输出中消失。 我正在使用以下模式,但未提供所需的输出。
s = Regex.Replace(s, @"\s+[{}^]", ""); //Remove whitespace between each element
s = Regex.Replace(s, @"{{ [0-9^}]*}\}", ""); // Remove { 60 }
所需的输出:
{ "diameter":6 }{"din":Anchor-1 R 6/5SPx3}{"length":30 }{ Impact anchor } {"diameter":6 }{ Online:0 }{, de03042 }
电流输出:
{ "diameter":660"din":Anchor-1 R 6/5SPx3}"length":30 Impact anchor HPS-1 R 6/5SPx3"diameter":6 Online:0 de03042
谁能指出我的模式有什么问题吗?
您可以使用以下正则表达式:
(?<=})\s*(?={)|{\s*\d+\s*}
替换为string.Empty
。
观看演示
结果:
正则表达式说明 :
该模式包含2个替代方案(请注意|
交替运算符)。
(?<=})\\s*(?={)
:
(?<=})
-向后看的肯定,以确保存在一个}
\\s*
-0或更多( *
)空格( \\s
) (?={)
-确定正前方,以确保空格后面紧跟{
{\\s*\\d+\\s*}
:
{
-匹配{
\\s*
-0或更多( *
)空格( \\s
) \\d+
-1个或更多数字 \\s*
-0或更多( *
)空格( \\s
) }
-从字面上匹配}
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.