Trying to count words in a string

后端 未结 7 795
醉话见心
醉话见心 2021-02-06 03:28

I\'m trying to analyze the contents of a string. If it has a punctuation mixed in the word I want to replace them with spaces.

For example, If Johnny.Appleseed!is:a*good

7条回答
  •  长情又很酷
    2021-02-06 04:05

    Here's a one-line solution that doesn't require importing any libraries.
    It replaces non-alphanumeric characters (like punctuation) with spaces, and then splits the string.

    Inspired from "Python strings split with multiple separators"

    >>> s = 'Johnny.Appleseed!is:a*good&farmer'
    >>> words = ''.join(c if c.isalnum() else ' ' for c in s).split()
    >>> words
    ['Johnny', 'Appleseed', 'is', 'a', 'good', 'farmer']
    >>> len(words)
    6
    

提交回复
热议问题