gpt4 book ai didi

python - 查找所有希腊文本中带连字符的单词

转载 作者:太空宇宙 更新时间:2023-11-04 08:07:02 24 4
gpt4 key购买 nike

每次存在换行符时,我都会有一个带有连字符的希腊文本。例如:

Καλημέρα ο καιρός είναι απίστευτος σή-
μερα και θα πάμε εκδρομή. Πρέπει να ετοι-
μασουμε πράγματα για πικ-νικ.

只有在插入换行符时我才需要找到字符“-”之间的单词边界,以便将其删除并将换行符“\n”移动到去连字词的末尾。我的结果应该是这样的:

Καλημέρα ο καιρός είναι απίστευτος σήμερα
και θα πάμε εκδρομή. Πρέπει να ετοιμασουμε
πράγματα για πικ-νικ.

我在 python 中使用正则表达式,我的命令是

re.findall(r'\b.*?-\n.*?\s', data, re.UNICODE)

获取边界之间的单词,但结果是:

Καλημέρα ο καιρός είναι απίστευτος σή-
μερα

不仅仅是这个词

σή-μερα

有谁知道我做错了什么?希腊字符有问题吗?

最佳答案

你需要使用re.sub函数。,

>>> s = '''Καλημέρα ο καιρός είναι απίστευτος σή-
μερα και θα πάμε εκδρομή. Πρέπει να ετοι-
μασουμε πράγματα για πικ-νικ.'''
>>> print(re.sub(r'-\n(\S+)\s+', r'\1\n', s))
Καλημέρα ο καιρός είναι απίστευτος σήμερα
και θα πάμε εκδρομή. Πρέπει να ετοιμασουμε
πράγματα για πικ-νικ.

DEMO

\S+ 匹配一个或多个非空格字符,其中 \s+ 匹配一个或多个空格字符。 re.sub 函数将用替换部分中存在的字符替换所有匹配的字符。所以这个 r'-\n(\S+)\s+' 正则表达式匹配连字符和后面的换行符以及跟在换行符后面的单词。 () 称为捕获组,用于捕获与捕获组中存在的模式匹配的字符。这里捕获组中存在的模式是 \S+ 。因此它匹配并捕获换行符后面的单词。您可以通过指定它的组索引号来引用替换部分中捕获的字符。

关于python - 查找所有希腊文本中带连字符的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29516067/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com