1
ipwx 2019-09-03 11:45:53 +08:00 via Android 1
re.findall(r'\[([^\]]+)\]', s)
|
2
qqq8724 2019-09-03 11:48:28 +08:00 1
先替换 ][ 为 ','
替换 [ 为 [' 再替换 ] 为 '] |
3
SuperMild 2019-09-03 12:04:08 +08:00 1
我试了一下
' [生物质能] [新疆振兴] [生物质能] [新疆振兴] [页岩气] [页岩气] '.split('] [') 结果是 [' [生物质能', '新疆振兴', '生物质能', '新疆振兴', '页岩气', '页岩气] '] 你再对头尾的项目简单处理一下就行了。这个如果懂正则,用正则做最好,如果不懂正则,用我这个方法的好处是容易理解。 |
4
princelai 2019-09-03 12:19:35 +08:00 1
import re
s = ' [生物质能] [新疆振兴] [页岩气] ' re.findall("\[(.*?)\]",s) |
5
skyrem 2019-09-03 13:00:39 +08:00
numpy.flatten
|
6
Dustyposa 2019-09-03 13:35:58 +08:00 1
import re
s = ' [生物质能] [新疆振兴] [页岩气] ' re.findall("\w+",s) |
7
dongxiao 2019-09-03 13:52:57 +08:00
s.replace("]", "").replace("[", "").strip().split()
Out[126]: ['生物质能', '新疆振兴', '页岩气'] s Out[127]: ' [生物质能] [新疆振兴] [页岩气] ' |
8
imdong 2019-09-03 14:21:41 +08:00
' [生物质能] [新疆振兴] [页岩气] '.trim(' []').split('] [')
(function (match_string) { let result = match_string.match(/\[([^\]]+)\]/g); result.forEach(function (item, index) { result[index] = /\[([^\]]+)\]/.exec(item)[1] }); return result; })(' [生物质能] [新疆振兴] [页岩气] ') |
9
snoopygao 2019-09-03 16:55:42 +08:00 1
' [生物质能] [新疆振兴] [页岩气] '.lstrip("'[").rstrip("]'").split('][')
|
10
MMMMMMMMMMMMMMMM 2019-09-04 01:46:14 +08:00
[\u4E00-\u9FA5]*
|
13
ydeveloper 2019-09-04 17:25:49 +08:00
可以用正则式判断最近的"["和"]"之间的内容,拆分后然后再字符串,我不太懂 Python 的写法,不过正则的写法如下:
(?<=\[).*?(?=\]) 不过这种情况不能判断出[123]]这种类型 |