Python:使用lstrip从字符串中删除单词

时间:2016-07-14 09:00:40

标签: python

我的字符串如下:st= 'Product=Product Name 25' 想要lstrip。输出所需:out= 'Product Name 25'

为此我做out = st.lstrip('Product=')

这里我的输出为out= 'Name 25'。这是我不想要的。 因为它正在删除我的字符串中的所有出现但需要删除第一次出现。

所需的输出应为: out ='产品名称25'

5 个答案:

答案 0 :(得分:3)

改为使用拆分:

>>> st= 'Product=Product Name 25'
>>> st.split("Product=")[1]
'Product Name 25'

答案 1 :(得分:2)

改为使用replace

st = 'Product=Product Name 25'
print(st.replace('Product=', ''))
>> Product Name 25

如果'='不适用,您也可以利用count所拥有的replace参数,例如:

st = 'Product Product Name 25'
print(st.replace('Product', '', 1))
>> Product Name 25

答案 2 :(得分:0)

您可以out = st.replace('Product=Product','Product')out = st.replace('Product=Product','')。我倾向于发现它简单易读。

答案 3 :(得分:0)

如果您正在从文本文件中读取键值对,标准库中有一个python模块:ConfigParser

答案 4 :(得分:0)

根据文档,lstrip函数删除字符中的字符。

>>> help(str.lstrip)

Help on method_descriptor:

lstrip(...)
    S.lstrip([chars]) -> str

    Return a copy of the string S with leading whitespace removed.
    **If chars is given and not None, remove characters in chars instead.**

所以st.lstrip('Product=')删除“产品=产品名称”开头的“P”,“r”,“o”,“d”,“u”,“c”,“t”,“=” 25" 。然后,这两个词被删除!

我认为你的字符串代表一个“key = value”对。 拆分它的最佳方法是使用split()方法:

st = "Product=Product Name 25"

key, value = st.split("=")
print("key: " + key)
print("value: " + value)

你得到:

key: Product
value: Product Name 25

仅限值:

value = st.split("=")[1]
print("value only: " + value)

你得到:

value only: Product Name 25

如果你想要一个“左侧修剪”:

p = "Product="
value = st[len(p):]
print("trimmed value: " + value)

你得到:

trimmed value: Product Name 25