我正在尝试仅删除(从字符串中)顺序出现的重复项。也就是说,给定字符串“1 2 3 3 2 1”,只有一个 3 应该被删除(即“1 2 3 2 1”)。我真的以为我已经弄清楚了。然后,在测试过程中,我发现了一个不起作用的案例。我已经尝试了我能想到的所有组合,但无济于事。当然这很简单,因为这不是一件难事(显然,除了我)。
以下是一些 Javascript 来说明问题。第一个 testVal 字符串被正确处理。注释掉的 testVal 字符串未正确处理。
// The following string should reduce to: MTC MTCA MTC ORD MTC (it does).
var testVal = "MTC MTC MTCA MTC MTC MTC ORD MTC";
// The following string should reduce to: MTC (it does not. Result = MTC MTC).
// The string MTC MTC MTC MTC also only reduces to MTC MTC, so I'm thinking
// it's a whitespace issue.
// var testVal = "MTC MTC";
while (/\b(\s*\w+\s*)\b\1/.test(testVal)) {
testVal = testVal.replace(/\b(\s*\w+\s*)\b\1/g,'$1');
}
alert(testVal1);