输入一行由字母和数字组合的字符串,在所有字母前加*并输出?
使用 Python 回答这个问题
使用replace()方法,将每个字母替换为*加字母。
例如:
# 输入一行由字母和数字组合的字符串
s = input("请输入一行由字母和数字组合的字符串:")
# 定义一个包含所有字母的字符串
letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
# 遍历所有字母
for letter in letters:
# 将每个字母替换为*加字母
s = s.replace(letter, "*" + letter)
# 输出结果
print(s)
使用正则表达式,匹配所有字母,并在匹配结果前加*。
例如:
# 导入正则表达式模块
import re
# 输入一行由字母和数字组合的字符串
s = input("请输入一行由字母和数字组合的字符串:")
# 定义一个匹配所有字母的正则表达式
pattern = "[a-zA-Z]"
# 使用sub()方法,将匹配结果替换为*加匹配结果
s = re.sub(pattern, lambda x: "*" + x.group(), s)
# 输出结果
print(s)
使用列表推导式,判断每个字符是否是字母,如果是则在前面加*,否则保持不变。然后使用join()方法,将列表中的字符连接成字符串。
例如:
# 输入一行由字母和数字组合的字符串
s = input("请输入一行由字母和数字组合的字符串:")
# 使用列表推导式,判断每个字符是否是字母,如果是则在前面加*
s = ["*" + c if c.isalpha() else c for c in s]
# 使用join()方法,将列表中的字符连接成字符串
s = "".join(s)
# 输出结果
print(s)