0

次の文字列の最初の単語を返す単一の関数を作成する必要があります。

("Hello world") -> return "Hello"
(" a word ") -> return "a"
("don't touch it") -> return "don't"
("greetings, friends") -> return "greetings"
("... and so on ...") -> return "and"
("hi") -> return "hi"

すべてが最初の単語を返す必要があり、空白で始まるもの、アポストロフィがあるもの、コンマで終わるものがあることがわかります。

次のオプションを使用しました。

return text.split()[0]
return re.split(r'\w*, text)[0]

どちらもいくつかの文字列でエラーが発生するので、誰が私を助けることができますか???

4

6 に答える 6

0

次のようなことを試すことができます:

import re
pattern=r"[a-zA-Z']+"
def first_word(words_tuple):
    match=re.findall(pattern,words_tuple)
    for i in match:
        if i[0].isalnum():
            return i



print(first_word(("don't touch it")))

出力:

don't
于 2018-01-04T17:55:27.730 に答える