如何获取用户句子并创建一个单词列表?

时间:2011-03-23 09:49:40

标签: python list

我不确定用户会输入什么,但我想将他们的输入句子分成列表中的单词

User_input = raw_input("Please enter a search criterion: ")
User_Input_list[""]

# input example: steve at the office

# compiling the regular expression:
keyword = re.compile(r"\b[aA-zZ]\b")
     for word in User_input:
         User_Input_list.append(word?)

# going by thin put example input I'd want
# User_Input_list["steve", "at" , "the" , "office"] 

我不确定如何将输入分成单独的单词?我会给饼干帮忙!

6 个答案:

答案 0 :(得分:3)

User_Input_list = User_input.split()

答案 1 :(得分:1)

最简单的解决方案可能是使用split

>>> "steve at the office".split()
['steve', 'at', 'the', 'office']

但这不会删除标点符号,这对您来说可能是也可能不是问题:

>>> "steve at the office.".split()
['steve', 'at', 'the', 'office.']

您可以使用re.split()仅拨出信件:

>>> re.split('\W+', 'steve at the office.')
['steve', 'at', 'the', 'office', '']

但正如您在上面所看到的那样,您最终可能会处理空条目,并且当您有更精细的标点符号时会更糟糕:

>>> re.split("\W+", "steve isn't at the office.")
['steve', 'isn', 't', 'at', 'the', 'office', '']

所以你可以在这里做一些工作来选择一个更好的正则表达式,但你需要决定如何处理像steve isn't at the 'the office'这样的文本。

因此,要为您选择合适的解决方案,您必须考虑您将获得哪些输入以及您想要的输出。

答案 2 :(得分:0)

Basicaly,

你应该这样做:

User_Input_list = User_input.split(' ')

就是这样......

答案 3 :(得分:0)

User_input = raw_input("Please enter a search criterion: ")
User_Input_list = User_input.split(" ")

请参阅:

http://docs.python.org/library/stdtypes.html

答案 4 :(得分:0)

执行以下操作

User_input = raw_input("Please enter a search criterion: ")

User_Input_list = User_input.split()

答案 5 :(得分:0)

你已经找到了,有一个分裂字符串的好例子:

re.split('\W+', 'Words, words, words.')

像这样你得到所有的单词,删除所有标点符号。