当前位置: 首页 > 知识库问答 >
问题:

从字符串中,如何只返回不以元音开头的单词?

孔嘉茂
2023-03-14

我有一根绳子,例如“狗是好宠物”

我只想返回以辅音开头的单词。[“狗”、“好”、“宠物”]作为列表

def consonant_first(newstr):
    for char in newstr.split():
        if char[0] in newstr.split() ==  vowels1:
            return newstr.split() 
print(newstr)

共有2个答案

萧韬
2023-03-14

这里有一个解决方案,在您计划处理大量文本时使用迭代器:

import re

def find_consonant_words(text: str):
    vowels = set("aeiou")

    for m in re.finditer('\S+', text):
        w = m.group(0)
        if w[0].lower() not in vowels:
            yield w

string = "A very long text: a dog is a good pet"

for w in find_consonant_words(string):
    print(w)

# get it all as a list
consonant_words = list(find_consonant_words(string))
print(consonant_words)

输出:

very
long
text:
dog
good
pet
['very', 'long', 'text:', 'dog', 'good', 'pet']
苏洛城
2023-03-14

只需测试列表中的第一个字母:

s = "A dog is a good pet"

def consonant_first(newstr):
    return [word for word in s.split() if  word[0].lower() not in 'aeiou']

print(consonant_first(s))

确保针对所有情况进行测试,以便捕获A

结果:

['dog', 'good', 'pet']
 类似资料:
  • 我得到以下字符串: 我想从里面拿走食物和饮料。 我尝试了以下代码: 但它给人的感觉是,食物很刺激,喝了很多,离食物很近,三个和四个。

  • 这是我的浏览方法。我正在尝试通过“dictionaryEntry”对象的哈希图进行搜索,只查看条目的“word”部分。(b.word)。这个想法是您可以搜索整个字典并返回所有以给定方法的字符串开头的单词。例如,您可以返回所有以字符串“sto”开头的单词。我的想法是遍历哈希图,如果单词的子字符串,从位置零开始并以输入字符串的长度结束,它将被添加到数组列表中。然后将返回数组列表。

  • 我被分配了一个任务,从数组列表中返回以特定字母开头的单词,但是我选择了字母c;我被告知我可以用另一种方式做到这一点,除了专门返回每个以字母开头的元素和许多println之外,我不知道除了使用ArrayList startswith方法之外,还有什么其他方法可以做到这一点,有人愿意启发我吗? }

  • 当我输入注册号时,当它以后一个B开头时,它应该返回值true,反之亦然,但在这个编码中,当我输入bhu132时,它将值变为false。这里怎么了..请帮帮我

  • 问题内容: 如何将“ 09”解析为9? 问题答案: 包括基数:

  • 问题内容: 我有一个看起来像这样的字符串: 我如何删除第一个; 但只有在字符串的开头找到它? 使用,将删除 所有 。 问题答案: 普通格式,不带正则表达式: 花费: 0.0369毫秒 (0.000,036,954秒) 与: 注意到: 0.1749毫秒 (0.000,174,999秒)第一次运行(编译),和 0.0510毫秒 (0.000,051,021秒)之后。 显然,已在我的服务器上进行了分析。