文稿中,有很多文字是用括号(...text...)框起来的,括号前面有 # 的那一行,类似这样:
#(...text...)
须要把 # 连()一起剥去,剩下:
...text...
没有 # 开头的那一行,括号(...text...)继续保留不动。
1
neoblackcap 2018-10-30 18:40:42 +08:00 via iPhone
自己写一个解析器,快速跑一下。
不用解析的方法,可能会出错 |
2
hqs0417 2018-10-30 19:08:43 +08:00
全文替换,正则表达式,比如说用 vscode
|
3
ywgx 2018-10-30 19:11:06 +08:00 via iPhone
对 vim 来说 录制个宏,播放即可,估计也就几秒吧
|
4
onionnews 2018-10-30 19:16:48 +08:00 via Android
sublime text 搜索#,选择所有,删除
|
5
onionnews 2018-10-30 19:18:31 +08:00 via Android
审题失败,打扰了😷
|
6
lniwn 2018-10-30 19:21:11 +08:00
任意一个支持正则的编辑器都能做到,楼主有尝试过吗?
|
7
wsh1108 2018-10-30 19:21:53 +08:00 via Android
随便一个支持正则的编辑器
|
8
onionnews 2018-10-30 19:21:58 +08:00 via Android
应该是搜索#( 然后选择所有,删除,向右移动光标,删除)
|
10
Akkuman 2018-10-30 19:26:01 +08:00 via Android
notepad++正则替换 \#\((.*)\)替换为$1
|
11
co3site 2018-10-30 19:28:14 +08:00 via Android
text.lstrip('#(').ratio(')')
|
12
co3site 2018-10-30 19:29:06 +08:00 via Android
@co3site 手机打字,手残了。。。
text.lstrip('#(').rstrip(')') |
13
sutra 2018-10-30 19:30:42 +08:00
$ cat a
#(hello)world #(he(llo)world (hello)world $ cat a | sed 's/^#(\(.*\))/\1/' helloworld he(lloworld (hello)world |
14
sutra 2018-10-30 19:33:10 +08:00 1
上面的回复可能审题错误。
$ cat a #hello(hello)world #hello(he(llo)world (hello)world $ cat a | sed 's/^#\(.*\)(\(.*\))/\1\2/' hellohelloworld hello(helloworld (hello)world |
15
loryyang 2018-10-30 19:35:23 +08:00
解法同 13 楼,注意区分下中英文字符就行。好好学正则啊,非常有用
|
16
ryd994 2018-10-31 07:30:19 +08:00 via Android
就算不用正则,用 Python 也就是一个 for 一个 if 的事………
|
17
TangMonk 2018-10-31 09:32:03 +08:00
|
18
aaaaasam 2018-11-05 16:56:18 +08:00
1、vim 打开文件:%s/^\#(\(.*\))$/\1/
|
19
aaaaasam 2018-11-05 16:57:01 +08:00
1
|
20
aaaaasam 2018-11-05 17:02:53 +08:00
。。。ctrl + 回车不是换行。。。
1、用 vim 打开文件,然后进入命令模式,输入 %s/^\#(\(.*\))$/\1/ 回车就好了 2、sed -i '.bak' "s/^#(\(.*\))$/\1/" <filename> ; #上面的.bak 因为实在 Mac os 环境下才使用,其他的应该不需要 |