例如,有一个字符串。的例子。
我怎样才能去掉中间的字符,即M ?我不需要密码。我想知道:
Python中的字符串是否以特殊字符结尾? 哪个是更好的方法-从中间字符开始将所有内容从右向左移动或创建一个新字符串而不复制中间字符?
例如,有一个字符串。的例子。
我怎样才能去掉中间的字符,即M ?我不需要密码。我想知道:
Python中的字符串是否以特殊字符结尾? 哪个是更好的方法-从中间字符开始将所有内容从右向左移动或创建一个新字符串而不复制中间字符?
当前回答
您可以简单地使用列表推导式。
假设你有字符串:my name is,你想删除字符m.使用以下代码:
"".join([x for x in "my name is" if x is not 'm'])
其他回答
您可以简单地使用列表推导式。
假设你有字符串:my name is,你想删除字符m.使用以下代码:
"".join([x for x in "my name is" if x is not 'm'])
字符串在Python中是不可变的,所以这两个选项的意思基本上是一样的。
在Python中,字符串是不可变的,所以你必须创建一个新的字符串。对于如何创建新字符串,您有几个选项。如果你想移除“M”出现的地方:
newstr = oldstr.replace("M", "")
如果你想删除中心字符:
midlen = len(oldstr) // 2
newstr = oldstr[:midlen] + oldstr[midlen+1:]
你问字符串是否以特殊字符结尾。不,你像一个C程序员一样思考。在Python中,字符串以其长度存储,因此任何字节值,包括\0,都可以出现在字符串中。
下面是我切掉“M”的方法:
s = 'EXAMPLE'
s1 = s[:s.index('M')] + s[s.index('M')+1:]
如果你想删除/忽略字符串中的字符,例如,你有这个字符串,
“[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