我在Python中有一个字符串,如下所示:
a = "one house"
对于我的程序,我需要将其转换为文字1,我在Python中使用word2number库。
除此之外,当我转换它时,我得到了这个。
a = "one house"
a = w2n.word_to_num(a)
print(a)
>> 1
我想保留“房子”并使字符串像这样:
>> "1 house"
看来word2number模块返回一个整数,这意味着房子部分不能保留,因为它是一个字符串。如果您知道该数字始终是第一个单词,您可以尝试:
a = "one house"
a_list = a.split(' ')
a_list[0] = str(w2n.word_to_num(a_list[0]))
print(' '.join(a_list))
从而将字符串拆分为列表中的多个字符串,在第一个字符串上运行word_to_num
函数,然后使用.join()
重新创建字符串
没有关于号码位置的先前信息:
a = 'One house in the middle of three woods'
s = a.split()
o = []
for word in s:
try:
o += [str(w2n.word_to_number(word))]
except ValueError:
o += [word]
print(' '.join(o))
output:: '1 house in the middle of 3 woods'