查找忽略返回的子字符串

时间:2014-07-04 21:04:36

标签: python string substring

如何在忽略返回的同时从较大字符串的开头删除(子字符串)?例如,子字符串可能如下所示:

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

从开头删除子字符串。

1 个答案:

答案 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!'