我正在尝试识别句子中只由数字组成的单词。一旦我找到一个只由数字组成的单词,我就会对它进行某种操作。我可以对单个数字字符串执行此操作,但如果字符串在句子中随机放置,我绝对不知道如何操作。
要对一个字符串执行此操作,我确认它只是数字,并遍历其字符,因此我跳过了第一个数字,将其余数字更改为特定的字母值,并在末尾添加了一个新字符。这些细节不一定是重要的。我正在尝试找到一种方法,以同样的方式对待句子中数字的每个随机“单词”。这个是可能的吗?
我不应该使用任何高级功能。只有循环,枚举,if链,字符串函数等等。我觉得我只是想多了!
NUM_BRAILLE="*"
digits='1234567890'
decade="abcdefhij"
def numstuff(s):
if len(s)==1 and s.isdigit():
s=s+NUM_BRAILLE
elif " " not in s and s.isdigit():
start_s=s[:1]
s=s[1:]
for i in s:
if i in digits:
s=s.replace(i,decade[int(i)-1])
s=start_s+s+NUM_BRAILLE
else:
#if sentence contains many " " (spaces) how to find "words" of numbers and treat them using method above?
发布于 2019-10-26 14:47:07
您可以这样做,从句子中提取数值,并将这些值传递给您的函数。
sentence = "This is 234 some text 888 with few words in 33343 numeric"
words = sentence.split(" ")
values= [int(word) if word.isdigit() else 0 for word in words]
print values输出:

https://stackoverflow.com/questions/58567529
复制相似问题