如何编写接收字符串的函数,为每个元音(a e i o u)两侧添加短横线?
字符串元音加短横线处理函数实现
功能要求
实现一个dashed函数,接收1个字符串类型入参,返回处理后的新字符串:原字符串中每一个元音字母(a、e、i、o、u,包含大小写)的左侧和右侧都需要添加短横线。
运行示例
dashed("Carpe Diem")➞"C-a-rp-e- D-i--e-m"dashed("Fight for your right to party!")➞"F-i-ght f-o-r y-o--u-r r-i-ght t-o- p-a-rty!"
参考实现(Python)
def dashed(target_str: str) -> str: # 定义元音集合,包含大小写匹配 vowels = {'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'} result_list = [] for char in target_str: if char in vowels: result_list.append(f'-{char}-') else: result_list.append(char) return ''.join(result_list)
实现说明
- 用集合存储元音字符,查找效率更高
- 遍历输入字符串的每个字符,符合元音规则就前后拼接短横线后存入列表,否则直接存入原字符
- 最后用
join方法把列表拼接为完整字符串返回,比直接字符串拼接性能更好
内容的提问来源于stack exchange,提问作者Barak David
相关产品推荐
相关产品推荐

