0

这是我的 .txt 文件中存在的数据

+919000009998    SMS    +919888888888
+919000009998    MMS    +91988 88888 88
+919000009998    MMS   abcd google
+919000009998    MMS    amazon

我想像这样转换我的 .txt

919000009998    SMS    919888888888
919000009998    MMS    919888888888
919000009998    MMS   abcd google
919000009998    MMS    amazon

删除 + 符号,如果第三列中存在空格,则仅当它是数字时才删除,如果是字符串则不执行任何操作

有什么正则表达式可以做到这一点,我可以在记事本++中搜索和替换吗?

4

2 回答 2

-1

所有先前的答案都将完美地工作。

但是,我只是添加它以防万一您需要它:

如果由于某种原因您在第三列中有非电话号码,由空格分隔(我想到了一条街道+919000009998 MMS street foo nº 123 4º-B),您可以改用此正则表达式(只要第三列以 开头,它将加入号码+):

搜索:^[+](\S+\s+\S+\s++)(?:([^+][^\n]*)|[+])|\G\s*(\d+)

替换为:\1\2\3

这将避免在我之前的示例中加入3and 。4

你在这里有一个演示。

于 2019-04-16T17:25:19.640 回答
-1
  • Ctrl+H
  • 找什么:\+|(?<=\d)\h+(?=\d)
  • 用。。。来代替:LEAVE EMPTY
  • 检查环绕
  • 检查正则表达式
  • Replace all

解释:

  \+            # + sign
|               # OR
  (?<=\d)       # positive lookbehind, make sure we have a digit before
  \h+           # 1 or more horizontal spaces
  (?=\d)        # positive lookahead, make sure we have a digit after

屏幕截图:

在此处输入图像描述

于 2019-04-16T15:28:14.867 回答