我有一个逗号分隔列表,如下所示。该列表实际上在一行,但我已将其拆分以演示语法,并且每个单元包含5个元素。列表末尾没有逗号
ro:2581,1309531682152,A,Place,Page,
me:2642,1310989368864,A,Place,Page,
uk:2556,1309267095061,A,Place,Page,
me:2642,1310989380238,D,Place,Page,
me:2642,1334659643627,D,Place,Page,
ro:3562,1378721526696,A,Place,Page,
uk:1319,1309337246675,D,Place,Page,
ro:2581,1379500694666,D,Place,Page,
uk:1319,1309337246675,A,Place,Page
我要做的是删除任何不以uk开头的单位(实线):即,结果将是:
uk:2556,1309267095061,A,Place,Page,
uk:1319,1309337246675,D,Place,Page,
uk:1319,1309337246675,A,Place,Page
如果字符串在单独的行上作为我的例子,我可以相对容易地做到这一点,但因为它全部在一行,我无法让它工作。有人能指出我正确的方向吗?
谢谢
答案 0 :(得分:3)
这应该有效:
(uk:\d+,\d+,\w,\w+,\w+)
它会查找uk:
,然后它就会从那里开始计算。
修改强>
由于OP现已澄清他们正在使用的内容只能删除字符串:
,?[^u][^k]:\d+,\d+,\w,\w+,\w+
这会查找一个可选的逗号,后面跟着两个不是u
而不是k
的字母,然后是冒号(:
),然后是正则表达式的其余部分是一样的。
答案 1 :(得分:0)