我有 1000 多行不同的文本。在大多数行中,括号内有一组美元值。我想删除这些括号内的前导“$”符号和逗号,这样……
Ted ($633,613) blah, blah. Blah; Sue ($1,887) (Bill). John (M) ($10,927) (Art Major)
Mike ($1,200,000) blah, blah.
…变成这样:
Ted (633613) blah, blah. Blah; Sue (1887) (Bill). John (M) (10927) (Art Major)
Mike (1200000) blah, blah.
提前感谢您的时间。
答案1
- 找什么:
\$(\d+),(\d+)(?:,(\d+))?
- 用。。。来代替:
\1\2\3
- 搜索方式:正则表达式
解释:
\$
匹配字符 $\d+
匹配一个或多个数字。第一个捕获组,
匹配逗号\d+
匹配一个或多个数字。第二个捕获组(?:,(\d+))?
非捕获组,可选匹配逗号后跟一个或多个数字(第三个捕获组)
答案2
这将删除美元和逗号仅有的在括号内,如问题所要求的:
- Ctrl+H
- 找什么:
(?:\(|\G\d+)\K[$,](?=.*?\d\))
- 用。。。来代替:
LEAVE EMPTY
- 查看 相符
- 查看 环绕
- 查看 正则表达式
- 取消选中
. matches newline
- Replace all
解释:
(?: # non capture group
\( # opening parenthesis
| # OR
\G # restart from last match position
\d+ # 1 or more digits
) # end group
\K # reset operator, forget all we have seen until this position
[$,] # dollar sign or comma
(?= # positive lookahead, make sure we have after:
.*? # 0 or more any character, not greedy
\d # a digit
\) # closing parenthesis
) # end lookahead
截图(之前):
截图(之后):