我正在尝试创建一个循环函数,如果句子中每个单词的第二个字符='R',则将其打印出来。
st = 'Print only the words'
for word in st.split():
if word[1] == 'r':
print(word)
我不断收到错误字符串索引超出范围。
答案 0 :(得分:2)
您可以使用len(word) < 2
明确过滤掉单词,这应该可以解决您的IndexError
问题:
st = 'Print only a word with at least two letters that has r in index 2'
for word in st.split():
if len(word) > 1 and word[1] == 'r':
print(word)
# 'Print'
答案 1 :(得分:1)
如果单词只有一个字母,则索引超出范围。
st = 'Print only a word, orange'
for word in st.split():
if len(word) > 1:
if word[1] == 'r':
print(word)
答案 2 :(得分:0)
如何使用regexp?
import re
re.findall(r'\b(.r.*?)\b',"Print the string or trim the string your lucky dry day")
[“打印”,“或”,“修剪”,“干燥”]