如何在忽略返回的同时从较大字符串的开头删除(子字符串)?例如,子字符串可能如下所示:
mysqldump --host="ssh.example.com" --user="jack" --password="3kg%39$(*kdsk#"
较大的字符串将如下所示(注意开头的子字符串,一些字符串返回):
mysqldump --host="ssh.examp
le.com" --user="jack" --password="3
kg%39$(*kdsk#"
-- more stuff that needs to remain --
Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Qua tu etiam inprudens
utebare non numquam. Sed haec quidem
如何从较大的字符串中查找和删除子字符串,以使结果如下所示:
-- more stuff that needs to remain --
Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Qua tu etiam inprudens
utebare non numquam. Sed haec quidem
从开头删除子字符串。
答案 0 :(得分:1)
旧答案:
希望我理解你的规格是正确的。这是你要问的吗?
>>> s = '''mysqldump --host="ssh.examp
... le.com" --user="jack" --password="3
... kg%39$(*kdsk#"'''
>>> s = s.replace('\n','').partition(' ')[-1]
>>> s
'--host="ssh.example.com" --user="jack" --password="3kg%39$(*kdsk#"'
更新回答:
我将永远知道第一个字符串的样子和长度。第二个字符串将在开头有第一个字符串,但返回随机分散。对于第二个字符串,在第一个字符串结束后看起来像任何东西。
在这种情况下,我建议这样的事情。
>>> import re
>>> s = 'mysqldump --host="ssh.examp\nle.com" --user="jack" --passw\nwo\nr\n\nd\n=\n"3\nkg%39$(*kdsk#"this is the stuff\nthat"needs"to remain!'
>>> s[re.search(r'd\n*=\n*"[^"]*"', s).end():]
'this is the stuff\nthat"needs"to remain!'