删除第 9 位数字之后和以 31117 开头的一串集合数字之前的一串信息

删除第 9 位数字之后和以 31117 开头的一串集合数字之前的一串信息

我需要删除列表中多余的信息。基本上,我想删除第一个空格之后和以 31117 开头的数字之前的所有内容。以下是示例:

0300045956 31117016167830

0198730888 : 31117005925115

0208022376 (碱性纸) $26.00 31117005925149

0918526582;0918526590(平装)31117005925677

我希望它看起来像这样:

0300045956 31117016167830

0198730888 31117005925115

0208022376 31117005925149

0918526582 31117005925677

答案1

您要求的解决方案是使用正则表达式。您想要查找:

([^ ]*)(.*)(31117*)

并将其替换为:

\1 \3

这定义了三个组(每个组都括在括号中)。第一个组是零个或多个非空格;所以这是所有以第一个空格开头的字符,但不包括第一个空格。第二个组可以是任意数量的字符,只要它不以 31117 开头;所以这是第一个空格和其后的所有内容,只要它不是 31117。第三个组是任何以 31117 开头的内容。

请注意@DavidPostill 是正确的。删除第一个空格之后和 31117 之前的所有内容:

0918526582;0918526590 (pbk.) 31117005925677

确实是:

0918526582;0918526590 31117005925677

如果你错误地陈述了你想要的东西但你确实想要这个:

0918526582;0918526590 (pbk.) 31117005925677

变成这样:

0918526582 31117005925677

然后需要修改正则表达式如下:

([^; ]*)(.*)(31117*)

这会在第一组中添加一个分号:任意数量的任意字符(不是空格或分号)。

相关内容