把句子/单词的每个字母都改成特定的字母

  • 本文关键字:句子 单词 python
  • 更新时间 :
  • 英文 :


我想用特定的东西替换用户输入的句子中的每个字母。

我用";替换";函数,但代码太长了,因为我不知道如何将小写字母和大写字母组合在一起,所以代码不会太长。此外,我想要一个"+"在新字母之间签名,但不在的开头和结尾

a = 'new_a'
b = 'new_b'
c = 'new_c'
d = 'new_d'
e = 'new_e'
f = 'new_f'
g = 'new_g'
h = 'new_h'
i = 'new_i'
j = 'new_j'
k = 'new_k'
l = 'new_l'
m = 'new_m'
n = 'new_n'
o = 'new_o'
p = 'new_p'
q = 'new_q'
r = 'new_r'
s = 'new_s'
t = 'new_t'
u = 'new_u'
v = 'new_v'
w = 'new_w'
x = 'new_x'
y = 'new_y'
z = 'new_z'
input_string = input("Text: ")
new_string = input_string.replace('a', a).replace('b', b).replace('c', c).replace('d', d).replace('e', e)...
print(new_string)

您可以使用正则表达式替换和在字典中查找替换的回调函数。

import re
replacements = {'a': 'new_a', 'b': 'new_b', ..., 'A': 'new_A', 'B': 'new_B', ...}
new_string = re.sub('[a-z]', lambda match: replacements[match.group()], input_string)

请注意,您的代码除了重复之外还有其他问题。如果输入字符串是

abc

abc的替换将产生

new_anew_bnew_c

那么e的替换将产生

nnew_ew_annew_ew_bnnew_ew_c

当它到达n时,它将变成

new_nnew_new_ew_anew_nnew_new_ew_bnew_nnew_new_ew_c

更换CCD_ 6后的最终结果为:

nenew_w_nnenew_w_nenew_w_enew_w_anenew_w_nnenew_w_nenew_w_enew_w_bnenew_w_nnenew_w_nenew_w_enew_w_c

最新更新