在文本编辑器中用正则表达式替换文本

时间:2012-11-16 12:12:21

标签: regex text notepad++ text-manipulation

我需要编辑文本文件中的行。

文本文件包含以下格式的100多行数据。

 Cosmos Rh Us (Paperback)   $10.99   Shipped: 
 The Good Earth (Paperback) $6.66    Shipped: 
 BEST OF D.H. LAWRENCE (Paperback) $7.89 Shipped:
 ...

这些是我用来购买书籍的在线书店的摘录

我在测试编辑器中有这些数据。如何编辑[精细/替换]使数据变为这样

  $10.99
  $6.66
  $7.89

或更好,没有美元符号,因为它总是很容易。

我使用notepad ++作为文本编辑器。

4 个答案:

答案 0 :(得分:2)

搜索(不要忘记在替换框中启用正则表达式!)

^.*\$(\d+\.\d+).*$

并将所有内容替换为

\1

答案 1 :(得分:1)

您可以简单地匹配整行并捕获$符号后面的所有数字:

Find what: ^[^$]*\$(\d+\.\d+).*$
Replace with: $1

确保检查“.matters newline”选项。请注意,如果您在一行中有多个$符号,则会出现意外行为。

您可能需要更新到Notepad ++ 6.在此之前,某些正则表达式功能无法正常工作。

答案 2 :(得分:0)

查找

((?<=\$)[\d\.]+)

替换为:

\1$1(使用Notepad ++)

答案 3 :(得分:0)

第一个正则表达式将被替换为

[a-zA-Z0-9].*\)

第二个正则表达式将被替换为

[a-zA-Z]+\: