读书人

一个小疑点解析字符串

发布时间: 2012-03-16 16:34:56 作者: rapoo

一个小问题,解析字符串。
对于如下字符串:
<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',...]
怎么解析?麻烦给出方法或贴出关键代码,谢谢!

[解决办法]
来个投机取巧的方法:

Python code
#!/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
[解决办法]
Python code
re.findall(r'[^"]+\.cs', xml) 

读书人网 >perl python

热点推荐