可以使用正则表达式来判断每个单词是数字还是字母,并将其移动到另一个位置。
以下是代码示例:
import re
def separate_words_and_numbers(line):
# 将所有字母和数字匹配出来
words = re.findall(r'\w+', line)
numbers = re.findall(r'\d+', line)
# 将数字和字母分别存入不同的列表
words_list = []
numbers_list = []
for word in words:
if word.isdigit():
numbers_list.append(word)
else:
words_list.append(word)
# 拼接字母和数字到不同的字符串
words_string = " ".join(words_list)
numbers_string = " ".join(numbers_list)
# 返回拼接好的结果
return words_string, numbers_string
# 测试
line = "There are 5 apples and 3 oranges."
words, numbers = separate_words_and_numbers(line)
print("Words:", words)
print("Numbers:", numbers)
# 输出:Words: There are apples and oranges
# Numbers: 5 3
在此代码示例中,我们使用了re
模块来匹配单词和数字。然后,我们将它们存入两个不同的列表,并使用join
函数将它们拼接成一个字符串。最后,我们将这两个字符串返回给调用者。