嗨,如何在正则表达式中实现这一目标?

时间:2018-12-06 13:49:06

标签: regex string trim

我的字符串为'US201112345'-我想以'US1112345'作为结果。如果该字符串包含10个以上的字母,则修剪第4个和第5个字母

1 个答案:

答案 0 :(得分:1)

如果您不熟悉正则表达式,为什么不自己解析字符串呢?

您还说过删除了第4个和第5个字母,但是在输出示例中删除了第3个和第4个字母,但实际上我认为您正在寻找第2个和第3个字母,因为输入字符串的第一个字符位于0索引,例如inputstring [0]

`string inputstring = Console.ReadLine();
        string outputstring = "";
        if (inputstring.Length > 10)
        {
            for (int i = 0; i < inputstring.Length; i++)
            {
                if (i != 2 && i != 3)
                {
                    outputstring = outputstring + inputstring[i];
                }
            }
        }
        Console.WriteLine(outputstring);`

还有其他方法,但是我觉得逻辑会很难。另一种好方法是.substring。

string inputstring = Console.ReadLine();
        string outputstring = "";
        Int32 nvar = inputstring.Length-4;
        if (inputstring.Length > 10)
        {
            string firstpart = inputstring.Substring(0, 2);
            string secondpart = inputstring.Substring(4, nvar);
            outputstring = firstpart + secondpart;
        }
        Console.WriteLine(outputstring);

希望可以帮助您解决尝试做的事情。