我正在寻找一个正则表达式,它可以在分隔符后删除文本并删除分隔符。
我试过.*&
删除&
后的文字。这是行得通的,但我想从我的字符串中删除&
。正则表达式删除分隔符和分隔符后的文本
像&
,我有多个其他分隔e.g , ; \/- | (JT)
我怎样才能做到这一点?
我正在寻找一个正则表达式,它可以在分隔符后删除文本并删除分隔符。
我试过.*&
删除&
后的文字。这是行得通的,但我想从我的字符串中删除&
。正则表达式删除分隔符和分隔符后的文本
像&
,我有多个其他分隔e.g , ; \/- | (JT)
我怎样才能做到这一点?
随着.*&
你匹配的文字,直到并包括最后&
在您的文字。如果你不希望包括在比赛中,把它放在一个positive lookahead assertion:
.*(?=&)
要查找不止一个分隔符,使用alternation和character class:
.*(?=[&,;\\/|-]|\(JT\))
注意,这将改变像
First, Middle & Last
到
First, Middle
因为比赛停止之前最后分隔符。如果你想让它停在第一分离器,使用一个懒惰的quantifier:
.*?(?=[&,;\\/|-]|\(JT\))
请注意,您将需要避免的字符串处理器的反斜杠,使正则表达式,作为字符串写入,会看像
".*?(?=[&,;\\\\/|-]|\\(JT\\))"
这有点含糊 - 你可以发布更多的输入字符串和期望的输出的例子吗?例如,在正确找到第一个分隔符后,正则表达式是否应该删除所有内容?每行或整个字符串?它应该平等对待所有分隔符吗? –
示例:名字和姓氏 预期输出=名字 – uttara
所有其他分隔符如何? (JT)'是什么样的分离器?请编辑您的帖子并添加几个例子。使用Ctrl-K将它们缩进4个空格,这样它们将被格式化为“原始文本”。 –