在第一个字母表后删除所有

时间:2016-02-20 09:03:25

标签: c# regex

我的输入:

string input = "0173706W(L31T*am)ABOVEPOVERTYLINE(APL)"

期望输出:

string outpput = "0173706"

截至目前已尝试

Regex.Replace(EditedFeild3, "[^0-9]", "");

此输入示例只是许多不同执行的示例。

所以,我正在寻找一个RegEx,它将在找到任何字母或特殊字符后删除所有内容

3 个答案:

答案 0 :(得分:4)

您可以使用以下RegEx

(.*?)[a-zA-Z].*
^^^^^             : Capture lazily
     ^^^^^^^^^^   : Match anything after first letter

要删除第一个字母后的所有内容,请将$1 - 第一个捕获的组替换为字符串。

RegEx Demo

您也可以使用

^([^a-zA-Z]*)

获取第一个捕获的组字符串。

RegEx Demo

答案 1 :(得分:1)

static void Main(string[] args)
{
      string name = "0173706W(L31T*am)ABOVEPOVERTYLINE(APL)";

      name = name.Substring(0, name.IndexOf('6') + 1);
      Console.WriteLine(name);

 }

答案 2 :(得分:0)

使用

解决
EditedFeild3 = new string(EditedFeild3.TakeWhile(Char.IsDigit).ToArray());

希望它可以帮助别人。