如何删除重复的特定字符

时间:2016-09-02 08:36:52

标签: regex string replace character

我需要在字符串中用“ - ”替换“@”。这很简单,但我还需要用一个“ - ”替换多个“@@@@@”。关于如何用ASP做后者的任何想法。 这是一个例子:

输入字符串: @IntroducciónalosEsquemasAlgorítmicos:Apuntesycoleccióndeproblemas。报告LSI-97-6-T @@@@@@@@ 09/30/1997 @@@@@ TRE @

期望的输出: -IntroducciónalosEsquemasAlgorítmicos:Apuntesycoleccióndeproblemas。报告LSI-97-6-T-09/30/1997-TRE -

感谢。

2 个答案:

答案 0 :(得分:1)

尝试使用经典ASP:

Dim regEx
Set regEx = New RegExp

 With regEx
    .Pattern = "([\@])\1+|(\@)"
    .Global = True
    .MultiLine = True
End With
strMessage = regEx.Replace(str, "-")

这将匹配每次出现的多个@@@@或单次出现的@

不确定您使用的语言是什么,这里的表达式是完整的分隔符:/([\@])\1+|(\@)/g

编辑 - 更简单:/@+/g

enter image description here

答案 1 :(得分:0)

    using System;
    using System.Text.RegularExpressions;

    public class Program
    {
        public static void Main()
        {
            Console.WriteLine("Hello World");
            String input = "@Introducción a los Esquemas Algorítmicos: Apuntes y colección de problemas. Report LSI-97-6-T@@@@@@@@09/30/1997@@@@@TRE@";
            String output=Regex.Replace(input,@"\@+","-");
            Console.WriteLine(output);

        }
    }