2024-03-28 17:25:09 发布
网友
我现在的任务是用"S^U^P^E^R M^A^N"替换"SUPER MAN"。你知道吗
"S^U^P^E^R M^A^N"
"SUPER MAN"
我试过print("SUPER MAN".replace("" "", "^")),但最终还是^S^U^P^E^R^ ^M^A^N^。你知道吗
print("SUPER MAN".replace("" "", "^"))
^S^U^P^E^R^ ^M^A^N^
我怎样才能解决这个问题?你知道吗
您希望将^{}方法与^{}一起使用。你知道吗
首先split"SUPER MAN"通过一个空格得到:
split
words = "SUPER MAN".split() ["SUPER", "MAN"]
然后,对于每个条目,使用join用"^"分隔每个字符:
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
S^U^P^E^R M^A^N
代码的作用:
首先,请注意传递到replace的第一个参数不是一个空格,这可能是您想要的,而是表达式"" "",这是一种进行字符串连接的隐式方法。你知道吗
replace
"" ""
因此,"SUPER MAN".replace("" "", "^")变为"SUPER MAN".replace("", "^"),它用"^"替换""的每个出现。你知道吗
"SUPER MAN".replace("" "", "^")
"SUPER MAN".replace("", "^")
""
这样一个操作的结果一开始看起来可能有点定义不清,但是在Python中,由于可以将字符串s视为等于"" + "".join(s) + "",因此用"^"替换""的每个出现将产生您看到的结果:每个字母之间的"^"和结尾的"^"。你知道吗
s
"" + "".join(s) + ""
将" "作为第一个参数传递给replace是不起作用的,因为它将用"^"替换空格(特别是中间的空格),因此得到"SUPER^MAN"。你知道吗
" "
"SUPER^MAN"
在将字符串“SUPER MAN”传递给replace()之前,您是否尝试过修剪它?然后您可以始终使用StringBuilder(假设您使用的是Java),然后使用DeleteCharAt()方法手动删除额外的“^”。你知道吗
>>> import re >>> re.sub(r"(\w)(?=\w)", r"\1^", "SUPER MAN") 'S^U^P^E^R M^A^N'
更多关于为什么这样做的信息:https://docs.python.org/3/library/re.html
您希望将^{} 方法与^{} 一起使用。你知道吗
首先
split
"SUPER MAN"
通过一个空格得到:然后,对于每个条目,使用
join
用"^"
分隔每个字符:然后使用
join
将其转换回一个由空格分隔的字符串,得到的代码是:输出:
S^U^P^E^R M^A^N
代码的作用:
首先,请注意传递到
replace
的第一个参数不是一个空格,这可能是您想要的,而是表达式"" ""
,这是一种进行字符串连接的隐式方法。你知道吗因此,
"SUPER MAN".replace("" "", "^")
变为"SUPER MAN".replace("", "^")
,它用"^"
替换""
的每个出现。你知道吗这样一个操作的结果一开始看起来可能有点定义不清,但是在Python中,由于可以将字符串
s
视为等于"" + "".join(s) + ""
,因此用"^"
替换""
的每个出现将产生您看到的结果:每个字母之间的"^"
和结尾的"^"
。你知道吗将
" "
作为第一个参数传递给replace
是不起作用的,因为它将用"^"
替换空格(特别是中间的空格),因此得到"SUPER^MAN"
。你知道吗在将字符串“SUPER MAN”传递给replace()之前,您是否尝试过修剪它?然后您可以始终使用StringBuilder(假设您使用的是Java),然后使用DeleteCharAt()方法手动删除额外的“^”。你知道吗
更多关于为什么这样做的信息:https://docs.python.org/3/library/re.html
相关问题 更多 >
编程相关推荐