Python 交错排列^&引用;字符串中的字符
我目前的任务是用Python 交错排列^&引用;字符串中的字符,python,string,Python,String,我目前的任务是用“S^U^p^E^R m^A^N”替换“超级男人” 我试过打印(“超人”。替换(“,“^”),但最终结果是^S^U^p^E^R^^M^A^N^ 如何修复此问题?在将字符串“SUPER MAN”传递给replace()之前,您是否尝试过修剪该字符串?然后,您可以始终使用StringBuilder(假设您使用的是Java),然后使用DeleteCharAt()方法手动删除额外的“^”。您希望同时使用该方法 首先将
“S^U^p^E^R m^A^N”
替换“超级男人”
我试过打印(“超人”。替换(“,“^”),但最终结果是^S^U^p^E^R^^M^A^N^
如何修复此问题?在将字符串“SUPER MAN”传递给replace()之前,您是否尝试过修剪该字符串?然后,您可以始终使用StringBuilder(假设您使用的是Java),然后使用DeleteCharAt()方法手动删除额外的“^”。您希望同时使用该方法 首先
将
按空格分割,以获得:
words = "SUPER MAN".split()
["SUPER", "MAN"]
然后,对于每个条目,使用join
用“^”
分隔每个字符:
new_words = map(lambda x: "^".join(x), words)
["S^U^P^E^R", "M^A^N"]
然后使用join
将其转换回一个由空格分隔的字符串,结果代码为:
words = "SUPER MAN".split()
new_words = map(lambda x: "^".join(x), words)
print " ".join(new_words)
输出:S^U^p^E^R M^A^N
代码正在执行的操作:
首先,请注意,传递到replace
中的第一个参数不是一个空格,这可能是您想要的,而是表达式“
,这是一种进行字符串连接的隐式方法
因此,“SUPER MAN”.replace(“,”^”)
变成了“SUPER MAN”.replace(“,”^”)
,它将“
的每一次出现都替换为“^”
这样一个操作的结果一开始似乎有点定义不清,但在Python中,因为您可以认为字符串s
等于“”+“”。join(s)+
,用“^”
替换”
的每一次出现将产生您看到的结果:每个字母和“^”之间的“^”
”
在末端
将“
作为第一个参数传递给replace
不起作用,因为它会将空格(特别是中间的空格)替换为“^”
,因此您会得到“SUPER^MAN”
有关其工作原理的详细信息:使用sting操作,您可以使用.split()
将其拆分为两个单词,然后使用.join()
将其与特殊字符连接。为了避免使用“魔术字符串”,可以为特殊字符指定一个变量
hero = "SUPER MAN"
word = hero.split()
special_char = "^"
print(special_char.join(word[0])
+ " "
+ special_char.join(word[1]))
有两种方式可以显示输出S^U^p^E^R M^A^N
方法1:使用连接每个具有特殊字符的单词
hero = "SUPER MAN"
word = hero.split()
special_char = "^"
print(special_char.join(word[0])
+ " "
+ special_char.join(word[1]))
方法2:分别为每个单词分配变量,然后使用特殊字符.join()
word_1 = special_char.join(word[0])
word_2 = special_char.join(word[1])
print(word_1, word_2)
谢谢,成功了。我还没有对lambda函数的使用进行足够的研究。他使用的是Python而不是Java。第二,他的绳子已经剪短了。