我想删除一行中的重复字词。
例如:
arraythis1, XdashedSmall, Small, Medium, Large, XdashedLarge, XdashedSmall, Small, Medium, Large, XdashedLarge
我想删除所有重复的项目,将该行转换为:
arraythis1, XdashedSmall, Small, Medium, Large
我的正则表达式是这样的:\w(\D+)(?:,\s+\1\b,)+/gm
,请参阅regex101。
答案 0 :(得分:1)
答案 1 :(得分:0)
我不确定您的确切输入,但在此示例中,如果您只想删除第一个" arraythis1",则可以使用此正则表达式:
^[^\,]*
最后,要制作正则表达式的最后一个,您需要删除剩余的空格(或空格)。
^[^\,]*,\s+
答案 2 :(得分:0)
我认为你应该试试这个
var words = new HashSet<string>();
string text = "arraythis1, XdashedSmall, Small, Medium, Large, XdashedLarge, XdashedSmall, Small, Medium, Large, XdashedLarge";
text = Regex.Replace(text, "\\w+", m =>
words.Add(m.Value.ToUpperInvariant())
? m.Value
: String.Empty);