我有类似的字符串:st= 'Product=Product Name 25'
想要lstrip。输出所需:out= 'Product Name 25'
Python:使用lstrip从字符串中删除一个字
对于这个我做这样out = st.lstrip('Product=')
在这里我得到的输出为out= 'Name 25'
。这是我不想要的。 因为它是删除我的字符串中的所有出现,但需要删除第一次出现。
所需的输出应该是:OUT = '产品名称25'
我有类似的字符串:st= 'Product=Product Name 25'
想要lstrip。输出所需:out= 'Product Name 25'
Python:使用lstrip从字符串中删除一个字
对于这个我做这样out = st.lstrip('Product=')
在这里我得到的输出为out= 'Name 25'
。这是我不想要的。 因为它是删除我的字符串中的所有出现,但需要删除第一次出现。
所需的输出应该是:OUT = '产品名称25'
采用分体式改为:
>>> st= 'Product=Product Name 25'
>>> st.split("Product=")[1]
'Product Name 25'
使用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
你可以做out = st.replace('Product=Product','Product')
或out = st.replace('Product=Product','')
。我倾向于发现简单和可读。
万一你是从一个文本文件中读取键值对,有一个在该标准库一个Python模块:ConfigParser
根据该文件,该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
这是因为['lstrip'](https://docs.python.org/3/library/stdtypes.html#str .lstrip)接受一组要删除的字符,而不是要删除的字符串模式。 –
你说你想删除第一个发生。这意味着字符串'Product ='可以在字符串中出现_anywhere_,不仅在开始处? –