-1

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

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

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

这些是我用来买书的网上书店的节选

我在测试编辑器中有这些数据。我如何编辑它 [Fine/Replace] 使数据变成这样

  $10.99
  $6.66
  $7.89

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

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

4

4 回答 4

2

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

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

并将所有替换为

\1
于 2012-11-16T12:15:08.270 回答
1

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

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

确保您没有选中“.matches newline”选项。请注意,如果一行中有多个 $ 符号,这将出现意外行为。

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

于 2012-11-16T12:18:29.780 回答
0

寻找:

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

用。。。来代替:

\1$1(无论 Notepad++ 使用哪个)

于 2012-11-16T12:17:46.497 回答
0

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

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

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

[a-zA-Z]+\:
于 2012-11-16T12:27:45.133 回答