用于修改字符串的正则表达式字符问题

Issue with Regex characters to modify a string

提问人:Terry Lee 提问时间:6/15/2023 最后编辑:Étienne LanevilleTerry Lee 更新时间:6/15/2023 访问量:47

问:

Stack Overflow 的新增功能。 尝试解析正则表达式以修改以下内容时遇到问题:

原始字符串:

 753108944)))","0" 
"MULTIPOLYGON (((-7.7885889

所需字符串:

753108944),(-7.7885889

我需要从字符串中删除 ))“,”0“ & vbCrLf & ”MULTIPOLYGON ((() 并且成功率极差,我认为这是由于 .(句号)在那里。 尝试了许多正则表达式替换配置以及标准字符串操作方法,但没有成功。

替换 vb.net 正则表达式 字符串

评论

0赞 Jimi 6/15/2023
您也可以匹配它们,例如,\(?[+-]?[^\D]\d?\.?\d+\)?

答:

0赞 Étienne Laneville 6/15/2023 #1

Replace 将执行您在问题中描述的操作:

Dim originalString As String = "753108944)))"",""0""" & vbCrLf & """MULTIPOLYGON (((-7.7885889"""
Dim processedString As String = originalString.Replace("))"",""0""" & vbCrLf & """MULTIPOLYGON ((", ",")

评论

0赞 Terry Lee 6/15/2023
谢谢艾蒂安,这也行得通。我需要复习我的字符串操作和正则表达式。
0赞 Reilas 6/15/2023 #2

查找以下模式并将其替换为“),(”。

(?s)\){3}.+\({3}

输出

 753108944),(-7.7885889

评论

0赞 Terry Lee 6/15/2023
谢谢Reilas,这很有效。我花了几个小时。问候。
0赞 Reilas 6/15/2023
太好了,没问题,很高兴它有帮助。