Python 处理字符串

2018-06-24 14:04:02 +08:00
 sorcerer
有一段字符串为: "adj.确定的, 某一个, 无疑的, 必然的, 可靠的 pron.某几个, 某些"
我想把它处理成一个 list:['adj.确定的, 某一个, 无疑的, 必然的, 可靠的','pron.某几个, 某些']
另外字符串里有可能会出现 adj. adv. prep. n. vi. vt. aux. v. pron. conj. 这几种不同的单词种类
求大神们看下。先谢谢了。。
1360 次点击
所在节点    问与答
11 条回复
Sylv
2018-06-24 14:26:53 +08:00
.split(' ')
korvin
2018-06-24 15:30:45 +08:00
@Sylv #1 前面逗号后也有空格呢
ant2017
2018-06-24 15:49:19 +08:00
正则表达式
imn1
2018-06-24 15:52:56 +08:00
findall
([a-z]+\..+)\s+
fffflyfish
2018-06-24 16:21:26 +08:00
提供一个大致的思路,亲测有效
```
re.findall(ur"[a-zA-Z]+\.[\u4e00-\u9fa5]+\W+", str)

adj.确定的, 某一个, 无疑的, 必然的, 可靠的
pron.某几个, 某些
```
sorcerer
2018-06-24 18:23:56 +08:00
@fffflyfish 谢谢大神,学到了
hourann
2018-06-24 19:44:23 +08:00
>>> test_str = 'adj.确定的, 某一个, 无疑的, 必然的, 可靠的 pron.某几个, 某些'
>>> re.findall(r'[a-zA-Z]+\.\W+', test_str,re.A)
['adj.确定的, 某一个, 无疑的, 必然的, 可靠的 ', 'pron.某几个, 某些']
hourann
2018-06-24 19:45:25 +08:00
>>> re.findall(r'\w+\.\W+', test_str,re.A)
sorcerer
2018-06-25 11:49:09 +08:00
@hourann re.A 是什么参数?
sorcerer
2018-06-25 11:55:57 +08:00
哦是 python3 里的
hourann
2018-06-25 16:08:22 +08:00
@sorcerer re.A 是 re 的 flag,表示\w 之匹配字母,与之相对的是 re.U,\w 可以匹配中文字符。python2 应该默认 re.A

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/465417

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX