由于历史原因,导致数据库里一些字符串前面被错误的添加了 n 个 FOO 标志,可能的情况如下:
FOO 尊敬的张先生,
FOO FOO 您好!
FOO FOO FOO ... 已经收到您的信件
每一个字符串开头,都有可能出现 n 个 FOO (也可能没有),怎么简单的处理,把字符串开头的 FOO 全部去除? (没有用 replace 和正则 re.sub()的原因,是字符中间部分的 FOO 不能去除)
由于历史原因,导致数据库里一些字符串前面被错误的添加了 n 个 FOO 标志,可能的情况如下:
FOO 尊敬的张先生,
FOO FOO 您好!
FOO FOO FOO ... 已经收到您的信件
每一个字符串开头,都有可能出现 n 个 FOO (也可能没有),怎么简单的处理,把字符串开头的 FOO 全部去除? (没有用 replace 和正则 re.sub()的原因,是字符中间部分的 FOO 不能去除)
|
1
用正则,加上行开头就行了
|
|
andyholoSep 19, 2019 via Android
2
bar 在哪?
|
|
3
^(FOO )*(.*)$
|
|
4
不喜欢用正则的话
while s.startswith ():s=s.replace (,,1 ) |
|
5
|
|
6
|
|
10
@crayygy
@lishunan246 @Trim21 @sunwei0325 跑出来一个非常诡异的情况: >>> s = '[FOO][FOO][FOO]KO' >>> re.sub(r'^([\[FOO\]\s])*', '', s) 'KO' >>> s = '[FOO][FOO][FOO]OK' >>> re.sub(r'^([\[FOO\]\s])*', '', s) 'K' KO 和 OK 匹配出来的结果,KO 剩下了 ‘KO’,OK 怎么吧 O 给丢了,只有 K ? |
|
13
@miniyao ^(\[FOO\]\s*|FOO\s*)+
|
|
14
|
|
lululauSep 19, 2019
15
update t set c = regex_substr(c, regex, substitution)
|
|
ysc3839Sep 19, 2019 via Android
16
|
|
qwertyeggSep 20, 2019
19
先 replace("FOO", ""),然后 trim()
|