我的字符串如下:st= 'Product=Product Name 25'
想要lstrip。输出所需:out= 'Product Name 25'
为此我做out = st.lstrip('Product=')
这里我的输出为out= 'Name 25'
。这是我不想要的。
因为它正在删除我的字符串中的所有出现但需要删除第一次出现。
所需的输出应为: out ='产品名称25'
答案 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