一个小问题,解析字符串。
对于如下字符串:
<ItemGroup>
<Compile Include="AsstVersion.cs" />
<Compile Include="Attachments.cs" />
<Compile Include="ConstObject.cs" />
<Compile Include="CreditsLog.cs" />
<Compile Include="District.cs" />
<Compile Include="LicenseKeyPool.cs" />
<Compile Include="LicenseKeyRecord.cs" />
<Compile Include="MapVersion.cs" />
<Compile Include="Msg.cs" />
<Compile Include="MyFavorite.cs" />
<Compile Include="MyPolls.cs" />
<Compile Include="PollItem.cs" />
<Compile Include="Polls.cs" />
<Compile Include="Posts.cs" />
<Compile Include="PostsGroup.cs" />
<Compile Include="PostsView.cs" />
<Compile Include="SystemNotice.cs" />
<Compile Include="Topics.cs" />
<Compile Include="TopicsParams.cs" />
<Compile Include="TopicsType.cs" />
<Compile Include="User.cs" />
<Compile Include="UserAccount.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="UserContact.cs" />
<Compile Include="UserSecurity.cs" />
<Compile Include="Views\ViewUserPosts.cs" />
<Compile Include="WordFilter.cs" />
</ItemGroup>
写一个python脚本,把这段字符串中涉及到的cs文件取出来,得到一个list:如
fileList = ['AsstVersion.cs','Attachments.cs',...]
怎么解析?麻烦给出方法或贴出关键代码,谢谢!
[解决办法]
来个投机取巧的方法:
#!/usr/bin/env python#coding=utf-8str1=r'''<ItemGroup> <Compile Include="AsstVersion.cs" /> <Compile Include="Attachments.cs" /> <Compile Include="ConstObject.cs" /> <Compile Include="CreditsLog.cs" /> <Compile Include="District.cs" /> <Compile Include="LicenseKeyPool.cs" /> <Compile Include="LicenseKeyRecord.cs" /> <Compile Include="MapVersion.cs" /> <Compile Include="Msg.cs" /> <Compile Include="MyFavorite.cs" /> <Compile Include="MyPolls.cs" /> <Compile Include="PollItem.cs" /> <Compile Include="Polls.cs" /> <Compile Include="Posts.cs" /> <Compile Include="PostsGroup.cs" /> <Compile Include="PostsView.cs" /> <Compile Include="SystemNotice.cs" /> <Compile Include="Topics.cs" /> <Compile Include="TopicsParams.cs" /> <Compile Include="TopicsType.cs" /> <Compile Include="User.cs" /> <Compile Include="UserAccount.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="UserContact.cs" /> <Compile Include="UserSecurity.cs" /> <Compile Include="Views\ViewUserPosts.cs" /> <Compile Include="WordFilter.cs" /> </ItemGroup>'''list1=str1.replace('<Compile Include="','').replace('" />','').split('\n')[1:-1]print list1list2=[i.strip() for i in list1]print list2
[解决办法]
re.findall(r'[^"]+\.cs', xml)