sorcerer
V2EX  ›  问与答

Python 处理字符串

  •  
  •   sorcerer · Jun 24, 2018 · 2184 views
    This topic created in 3059 days ago, the information mentioned may be changed or developed.
    有一段字符串为: "adj.确定的, 某一个, 无疑的, 必然的, 可靠的 pron.某几个, 某些"
    我想把它处理成一个 list:['adj.确定的, 某一个, 无疑的, 必然的, 可靠的','pron.某几个, 某些']
    另外字符串里有可能会出现 adj. adv. prep. n. vi. vt. aux. v. pron. conj. 这几种不同的单词种类
    求大神们看下。先谢谢了。。
    11 replies  •  2018-06-25 16:08:22 +08:00
    Sylv
    Sylv
    Jun 24, 2018 via iPhone
    1
    .split(' ')
    korvin
    korvin
    Jun 24, 2018
    2
    @Sylv #1 前面逗号后也有空格呢
    ant2017
    ant2017
    Jun 24, 2018 via Android
    3
    正则表达式
    imn1
    imn1
    Jun 24, 2018
    4
    findall
    ([a-z]+\..+)\s+
    fffflyfish
    fffflyfish
    Jun 24, 2018❤️2
    5
    提供一个大致的思路,亲测有效
    ```
    re.findall(ur"[a-zA-Z]+\.[\u4e00-\u9fa5]+\W+", str)

    adj.确定的, 某一个, 无疑的, 必然的, 可靠的
    pron.某几个, 某些
    ```
    sorcerer
    sorcerer
    OP
    Jun 24, 2018
    6
    @fffflyfish 谢谢大神,学到了
    hourann
    hourann
    Jun 24, 2018 via iPhone❤️1
    7
    >>> test_str = 'adj.确定的, 某一个, 无疑的, 必然的, 可靠的 pron.某几个, 某些'
    >>> re.findall(r'[a-zA-Z]+\.\W+', test_str,re.A)
    ['adj.确定的, 某一个, 无疑的, 必然的, 可靠的 ', 'pron.某几个, 某些']
    hourann
    hourann
    Jun 24, 2018 via iPhone❤️1
    8
    >>> re.findall(r'\w+\.\W+', test_str,re.A)
    sorcerer
    sorcerer
    OP
    Jun 25, 2018
    9
    @hourann re.A 是什么参数?
    sorcerer
    sorcerer
    OP
    Jun 25, 2018
    10
    哦是 python3 里的
    hourann
    hourann
    Jun 25, 2018 via iPhone
    11
    @sorcerer re.A 是 re 的 flag,表示\w 之匹配字母,与之相对的是 re.U,\w 可以匹配中文字符。python2 应该默认 re.A
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1435 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 10:28 · PVG 18:28 · LAX 02:28 · JFK 05:28
    ♥ Do have faith in what you're doing.