题目
思路
re.sub()将标点符号替换成空格,再用split()分离
我的代码
import re
def first_word(text: str) -> str:
filter_string = re.sub('[\s+\.\!\/_,$%^*(+\")]+|[+——()?【】“”!,。?、~@#¥%……&*()]+', " ",text)
word_list = filter_string.strip().split(' ')
return word_list[0]
if __name__ == '__main__':
print("Example:")
print(first_word("Hello world"))
# These "asserts" are used for self-checking and not for an auto-testing
assert first_word("Hello world") == "Hello"
assert first_word(" a word ") == "a"
assert first_word("don't touch it") == "don't"
assert first_word("greetings, friends") == "greetings"
assert first_word("... and so on ...") == "and"
assert first_word("hi") == "hi"
assert first_word("Hello.World") == "Hello"
print("Coding complete? Click 'Check' to earn cool rewards!")