我有字符串作为元组,我正试图从中删除引号。如果字符串中没有逗号,则表明它有效。但如果有逗号,则引号仍然存在:
example = [('7-30-17','0x34','"Upload Complete"'),('7-31-17','0x35','"RCM","Interlock error"')]
example = [(x,y,(z.strip('"')))
for x,y,z in example]
结果是引号部分保留在其中包含逗号的字符串中。第二个元组现在读取RCM","Interlock error
而不是RCM, Interlock error
('7-30-17','0x34','Upload Complete')
('7-31-17','0x35','RCM","Interlock error')
任何想法我做错了什么?谢谢!
答案 0 :(得分:3)
您可以使用列表推导来迭代列表项,对内部元组项也是如此
self.view
答案 1 :(得分:2)
您似乎正在寻找replace()
的行为,而不是strip()
。
尝试使用replace('"', '')
代替strip('"')
。 strip
仅从字符串的开头和结尾删除字符,而replace
将处理所有事件。
您的示例将更新为如下所示:
example = [('7-30-17','0x34','"Upload Complete"'),('7-31-17','0x35','"RCM","Interlock error"')]
example = [(x,y,(z.replace('"', '')))
for x,y,z in example]
example
最终得到以下值:
[('7-30-17', '0x34', 'Upload Complete'), ('7-31-17', '0x35', 'RCM,Interlock error')]
答案 2 :(得分:1)
问题是因为 Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> pkgAppsList =
this.getPackageManager().queryIntentActivities( mainIntent, 0);
Log.d("log","installed apps : "+pkgAppsList.size());
只会从字符串的末尾删除。
使用strip
替换regex
:
"