例如,有一个字符串。的例子。

我怎样才能去掉中间的字符,即M ?我不需要密码。我想知道:

Python中的字符串是否以特殊字符结尾? 哪个是更好的方法-从中间字符开始将所有内容从右向左移动或创建一个新字符串而不复制中间字符?


当前回答

如果你想删除/忽略字符串中的字符,例如,你有这个字符串,

“[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

其他回答

您可以简单地使用列表推导式。

假设你有字符串:my name is,你想删除字符m.使用以下代码:

"".join([x for x in "my name is" if x is not 'm'])
def kill_char(string, n): # n = position of which character you want to remove
    begin = string[:n]    # from beginning to n (n not included)
    end = string[n+1:]    # n+1 through end of string
    return begin + end
print kill_char("EXAMPLE", 3)  # "M" removed

我在这里某处见过。

字符串在Python中是不可变的,所以这两个选项的意思基本上是一样的。

字符串是不可变的。但是你可以把它们转换成一个可变的列表,然后在你改变它之后再把它转换回字符串。

s = "this is a string"

l = list(s)  # convert to list

l[1] = ""    # "delete" letter h (the item actually still exists but is empty)
l[1:2] = []  # really delete letter h (the item is actually removed from the list)
del(l[1])    # another way to delete it

p = l.index("a")  # find position of the letter "a"
del(l[p])         # delete it

s = "".join(l)  # convert back to string

您还可以创建一个新字符串,就像其他人演示的那样,从现有字符串中取出所需字符以外的所有内容。

如果你想删除/忽略字符串中的字符,例如,你有这个字符串,

“[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