[英]Regex problems in VB.net, how do I match this?
我从不了解如何创建正则表达式,现在我急需一个。 如果有人知道该怎么做,那将是很棒的。
我需要将这些示例与正则表达式匹配,然后在第三个逗号之前附加文本:
1。
Örjan,,; Svensson ,,,,然后像这样继续
需要成为:
Örjan,;; SvenssonNEWTEXTHERE ,,,,然后像这样继续
2。
Patric,The-Man,Black ,,,,,,,,,然后像这样继续
需要成为:
Patric,The-Man,BlackNEWTEXTHERE 、、、、、、、,然后像这样继续
如果我要使用通配符来执行此操作,则它将如下所示:
*,*,*,*
我想在最后一个逗号之前添加文本。 但是我仍然需要整个字符串,以便可以仅在此处添加文本,我不希望添加的文本后面的字符消失。
这是一个.CSV联系人文件,因此您可以更好地了解文本的结构。
这可能吗?
CSV字段的正则表达式(即“不包含逗号的任何文本”)为[^,]*
,如果您想跳到第三个字段的末尾,请使用
[^,]*,[^,]*,[^,]*
现在,如果要修改字符串,可以使用类似
Dim str = "Örjan,,;Svensson,,,,, and then it continues like this"
Dim re As New Regex("[^,]*,[^,]*,[^,]*")
Dim pos = re.Match(str).Length
现在,您已经可以将其他字符串放在pos
,并且可以使用它进行任何操作。
请注意, CSV文件通常可以包含包含文字逗号且需要用引号引起来的字段(例如Patric,"The,Man",Black,...
)。 它甚至可能包含换行符,这使得很难正确解析,尤其是对于正则表达式(并且上面的代码不适用于此类数据)。 您可以确定CSV文件中不包含带引号的字段吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.