如何添加“。”字符串中每个字母之前

时间:2018-10-05 08:06:40

标签: python

正如标题所述,我只需要添加一个。在我的字符串中的每个字母之前 同时删除元音并将其变为小写 我得到它的工作只是不能在那里添加.s 这是我的代码

s = str(input())
vowels = ('a','e','o','u','i','A','E','O','U','I')
for letter in s:
    if letter in vowels:
        s = s.replace(letter,'').replace()
print(s)

3 个答案:

答案 0 :(得分:6)

使用:

s = input()
vowels = set('aeoui')

print(''.join([f'.{x}' for x in s.lower() if x not in vowels]))

样品运行

Hello
.h.l.l

答案 1 :(得分:1)

所有其他答案将在字符串中每个字符的前面插入一个.,但是您指定只希望字母。因此,我假设您只希望在a-z前面加上一个.,为此我建议使用re.sub

import re
s = "This is some test string. It contains some symbols also ()!!"
result = re.sub('[aeoui]', '', s.lower())  # remove vowels and make lowercase
result = re.sub("([a-z])", r".\1", result)  # prepend '.' to every letter
print(result)

输出:

.t.h.s .s .s.m .t.s.t .s.t.r.n.g. .t .c.n.t.n.s .s.m .s.y.m.b.l.s .l.s ()!!

答案 2 :(得分:-1)

您可以逐步进行操作:

用''

替换字符串中的所有元音
for i in s:
    for j in vowels:
        s=s.replace(j,'')

将字符串转换为小写:

s=s.lower()

添加“。”在每个字母之间:

s='.' + '.'.join(s)