我在文本文档中有逗号分隔的单词列表。我基本上只删除了小说中的所有标点符号,因此有很多相同单词的实例。
我无法找到如何使用正则表达式只留下每个单词的一个实例。
我正在使用Editpad Lite 7.
有人可以就如何做到这一点给我建议。 (如果可能的话)。
答案 0 :(得分:1)
如果您的编辑支持look-around assertions,您可以使用它删除(即替换为“”)
的所有匹配项(?<=,|^)([^,]*)(?=,)(?=.*,\1(,|$))
中查看此操作
根据文本的长度,这可能会非常糟糕。如果你需要定期这样做,你最好用你选择的语言编写一个小脚本。
答案 1 :(得分:1)
假设您的文字是以逗号分隔的单词列表,例如:
hello,world,hello,abc,world
并且您想要删除重复的单词,以便生成的文本为:
hello,world,abc
我认为你不能使用Editpad Lite 7中的正则表达式来做到这一点。最好的办法是使用编程语言来实现这一目标。这是一个使用PHP的简单示例:
$text = "hello,world,hello,abc,world";
$seen = array();
foreach (explode(',', $text) as $word) {
if (isset($seen[$word])) continue;
$seen[$word] = true;
print $word . ',';
}
// Outputs: hello,world,abc,