像' [生物质能] [新疆振兴] [页岩气] ' 如何分解成列表 ['生物质能', '新疆振兴', '页岩气'] 形式。
1
ipwx Sep 3, 2019 via Android re.findall(r'\[([^\]]+)\]', s)
|
2
qqq8724 Sep 3, 2019 先替换 ][ 为 ','
替换 [ 为 [' 再替换 ] 为 '] |
3
SuperMild Sep 3, 2019 我试了一下
' [生物质能] [新疆振兴] [生物质能] [新疆振兴] [页岩气] [页岩气] '.split('] [') 结果是 [' [生物质能', '新疆振兴', '生物质能', '新疆振兴', '页岩气', '页岩气] '] 你再对头尾的项目简单处理一下就行了。这个如果懂正则,用正则做最好,如果不懂正则,用我这个方法的好处是容易理解。 |
4
princelai Sep 3, 2019 import re
s = ' [生物质能] [新疆振兴] [页岩气] ' re.findall("\[(.*?)\]",s) |
5
skyrem Sep 3, 2019
numpy.flatten
|
6
Dustyposa Sep 3, 2019 import re
s = ' [生物质能] [新疆振兴] [页岩气] ' re.findall("\w+",s) |
7
dongxiao Sep 3, 2019
s.replace("]", "").replace("[", "").strip().split()
Out[126]: ['生物质能', '新疆振兴', '页岩气'] s Out[127]: ' [生物质能] [新疆振兴] [页岩气] ' |
8
imdong Sep 3, 2019
' [生物质能] [新疆振兴] [页岩气] '.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 Sep 3, 2019 ' [生物质能] [新疆振兴] [页岩气] '.lstrip("'[").rstrip("]'").split('][')
|
10
MMMMMMMMMMMMMMMM Sep 4, 2019
[\u4E00-\u9FA5]*
|
13
ydeveloper Sep 4, 2019
可以用正则式判断最近的"["和"]"之间的内容,拆分后然后再字符串,我不太懂 Python 的写法,不过正则的写法如下:
(?<=\[).*?(?=\]) 不过这种情况不能判断出[123]]这种类型 |