我永远不懂如何创建正则表达式,现在我需要一个非常好的。如果有人知道如何做到这一点会很棒。
我需要将这些示例与正则表达式匹配,然后在第三个逗号之前附加文本: 例子:
1
Örjan,,; Svensson ,,,,,然后呢 像这样继续
需要成为:
Örjan,,; SvenssonNEWTEXTHERE ,,,,,和 然后就像这样继续
2
Patric,The-Man,Black ,,,,,,,,,然后 它继续像这样
需要成为:
Patric,The-Man,BlackNEWTEXTHERE ,,,,,,,,,然后 它继续像这样
如果我使用通配符来执行此操作,它将如下所示:
*,*,*,*
我想在最后一个逗号之前添加文本。但我仍然需要整个字符串,所以文本可以添加到那里我不希望添加的文本后面的字符消失。
这是一个.CSV联系人文件btw,以便您更好地理解文本的结构。
这可能吗?
答案 0 :(得分:1)
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文件不包含带引号的字段吗?