Python 在句子中用数字代替单词
我有一些句子,其中数字有时被写成单词,例如:Python 在句子中用数字代替单词,python,Python,我有一些句子,其中数字有时被写成单词,例如: He takes classes of yoga two times per week. 我需要用数字替换文字形式的数字: He takes classes of yoga 2 times per week. 如果是,他每周上两次瑜伽课。,应该保持原样 我发现了一个名为word2number的库,它将单词转换为数字()。但是我怎样才能更新一个句子,让他每周上2次瑜伽课。 from word2number import w2n w2n.word_
He takes classes of yoga two times per week.
我需要用数字替换文字形式的数字:
He takes classes of yoga 2 times per week.
如果是,他每周上两次瑜伽课。
,应该保持原样
我发现了一个名为word2number
的库,它将单词转换为数字()。但是我怎样才能更新一个句子,让他每周上2次瑜伽课。
from word2number import w2n
w2n.word_to_num('He takes classes of yoga two times per week.')
# output: 2
这应该可以处理任意多字数。它不会处理句子结尾的标点符号,比如“野兽的数字是六百六十六”。你可能想先去掉标点符号。我想在句子的中间也会出现逗号,
def translate(sentence):
result = []
partial = []
for word in sentence.split():
partial.append(word)
num = w2n.word_to_num(' '.join(partial))
# If this worked, then go try to suck up another word.
if num:
continue
# If there's more than one word in partial, then all but the
# last make a successful number.
if len(partial) > 1:
result.append( w2n.word_to_num(' '.join(partial{[:-1]) ))
result.append( word )
partial = []
return ' '.join(result)
@00:是的,但我应该更换什么?我如何知道
two
确切地指的是2
?链接堆栈溢出帖子中的解决方案已被移植到关闭我的问题并提供“答案”链接的人:请仔细阅读问题。我问如何替换句子中的单词并返回句子。我没有问如何用数字替换任何孤立的单词。@Fluxy仔细阅读链接的答案:)在link@CoryKramer如果“他每周上两次瑜伽课”会怎么样。没有解决办法,因为你无法判断他们想要25英镑还是205英镑。大多数人会写“二十五”,但不可否认的是,不会写更多的数字。