例如,有一个字符串。的例子。
我怎样才能去掉中间的字符,即M ?我不需要密码。我想知道:
Python中的字符串是否以特殊字符结尾? 哪个是更好的方法-从中间字符开始将所有内容从右向左移动或创建一个新字符串而不复制中间字符?
例如,有一个字符串。的例子。
我怎样才能去掉中间的字符,即M ?我不需要密码。我想知道:
Python中的字符串是否以特殊字符结尾? 哪个是更好的方法-从中间字符开始将所有内容从右向左移动或创建一个新字符串而不复制中间字符?
当前回答
您可以简单地使用列表推导式。
假设你有字符串:my name is,你想删除字符m.使用以下代码:
"".join([x for x in "my name is" if x is not 'm'])
其他回答
删除一个字符或子字符串一次(只删除第一次):
main_string = main_string.replace(sub_str, replace_with, 1)
注意:这里的1可以用任何int替换,表示要替换的出现次数。
如果你想删除/忽略字符串中的字符,例如,你有这个字符串,
“[11:L: 0]”
来自web API响应或类似的东西,比如CSV文件,假设你在使用请求
import requests
udid = 123456
url = 'http://webservices.yourserver.com/action/id-' + udid
s = requests.Session()
s.verify = False
resp = s.get(url, stream=True)
content = resp.content
循环并去除不需要的字符:
for line in resp.iter_lines():
line = line.replace("[", "")
line = line.replace("]", "")
line = line.replace('"', "")
可选的分割,你将能够单独读取值:
listofvalues = line.split(':')
现在访问每个值更容易了:
print listofvalues[0]
print listofvalues[1]
print listofvalues[2]
这将打印
11 l 0
Python 3.9+中引入了两个新的字符串删除方法
#str.removeprefix("prefix_to_be_removed")
#str.removesuffix("suffix_to_be_removed")
s='EXAMPLE'
在这个例子中,M的位置是3
s = s[:3] + s[3:].removeprefix('M')
OR
s = s[:4].removesuffix('M') + s[4:]
#output'EXAPLE'
另一种方法是用一个函数,
下面是通过调用函数从字符串中删除所有元音的方法
def disemvowel(s):
return s.translate(None, "aeiouAEIOU")
这可能是最好的方法:
original = "EXAMPLE"
removed = original.replace("M", "")
不要担心转换字符之类的问题。大多数Python代码发生在更高的抽象级别上。