使用该字符串中的另一对字符查找和替换字符串中的一对字符

时间:2016-04-03 02:43:36

标签: python string python-3.x swap

我是Python的新手,但想弄清楚如何取一个字符串并交换一对字符。我们说我们有字符串 ' HELLO__WORLD'并希望用__切换HELLO中的HE。所以字符串现在看起来像' __ LLOHEWORLD'怎么可能这样呢?它与.pop和.append有什么关系吗?或者,如果,elif,其他函数可以使用?也许首先,需要.index来查找用户指定需要交换的字符吗?

老实说,我真的不知道从哪里开始。

4 个答案:

答案 0 :(得分:1)

.pop().append()list方法。

阅读清单和数据结构https://docs.python.org/2/tutorial/datastructures.html

您可以使用replace

解决这个问题

例如。

hello = 'HELLO WORLD'
new_hello = hello.replace('HE', '_')

答案 1 :(得分:1)

如其他答案所述,str.replace绝对是您想要使用的:

my_string = "HELLO__WORLD"
replaced = my_string.replace("HE","__")
print(replaced) #shows __LLO__WORLD

虽然如果"HE"出现在字符串的其他地方并且不应该被替换,这可能还不够:

my_string = "HE SAID HELLO_WORLD"
replaced = my_string.replace("HE","__")
print(replaced) #shows __ SAID __LLO_WORLD

在这种情况下,您需要指定要替换的整个部分:

my_string = "HE SAID HELLO_WORLD"
replaced = my_string.replace("HELLO_WORLD","__LLO__WORLD")
print(replaced) #shows HE SAID __LLO_WORLD

答案 2 :(得分:0)

查看replace字符串方法:

s = 'HELLO__WORLD'
s = s.replace('HE', '__')

答案 3 :(得分:0)

如果您想要交换子串的索引,可以将字符串转换为list,与slice交换,然后将其转回字符串。

s = "HELLO__WORLD"
# "HE" is at [0:2], "__" is at [5:7]
s = list(s)
s[0:2], s[5:7] = s[5:7], s[0:2]
s = "".join(s)
print(s) # prints __LLOHEWORLD

要查找子字符串的索引,可以使用.find

s = "HELLO__WORLD"
s.find("__") #returns 5