我需要帮助。我有一个包含大量信息的文本文件,包括姓名,路线和电话,但我只需要将手机放在文件上。它是这样的:
Stephanie D. Ferebee
Rua Inácio de Andrade, 128
(41) 5123313
James M. Tidwell
Rua Oitenta e Quatro, 1698
(43) 2571815
Sherry M. Rossman
Rua Fernandes Vieira, 218
(41) 2931075
我怎样才能将数字保存在文件中?它们都像:“(XX)XXXXXXX”(包括开头的空格)。
答案 0 :(得分:1)
假设所有电话号码都以(digit
开头,您可以使用grep
命令,如下所示:
$ grep "^ ([0-9]" file
(41) 5123313
(43) 2571815
(41) 2931075
答案 1 :(得分:0)
如果你只想要一个正则表达式的电话号码使用这个:
<强>模式强>
\(\d{2}\) \d{7}
只能抓住您提供的格式的数字:
(XX) XXXXXXX
答案 2 :(得分:0)
如果您使用的话,可以使用PowerShell。
Get-Content C:\test.txt | Select-String "\(\d{2}\) \d{7}"
您需要根据文本文件更改路径(此处为C:\test.txt
。
答案 3 :(得分:0)
因此,要使用TextWrangler以及搜索和替换功能,您可以使用以下正则表达式来查找数字:
(\d{2}) \d{7}
但这不会帮助你只保留你需要的东西。要选择特定组并删除其余组,您可以执行以下操作:
注意:(
和)
字符用于捕获群组,因此您可以尝试以下操作:
查找
/((.*)(\(\d{2}\) \d{7})(.*)|(.*))/g
替换:
$3
$3
表示您只会保留第三个匹配组,即(\d{2}) \d{7}
。
另外请注意,如果您的号码之间出现空行,您可以开始第二次搜索并替换并搜索模式^\r
。替换为零和 voila !。
或者您可以将其合并为一个正则表达式(在搜索字段中):/((.*)(\(\d{2}\) \d{7})(.*)|(.(\r|\n)*))/g