我試圖從10:131186;
中提取數字並獲得10131186
而沒有使用:
和;
。C#正則表達式從數字中提取某些數字
什麼是我需要創建的正則表達式模式?
var input = "10:131186;";
string pattern = ":(.*);";
Match m = Regex.Match(input, pattern);
Console.WriteLine(m.Value);
與上面的代碼,我得到:131186;
代替10121186
。
我試圖從10:131186;
中提取數字並獲得10131186
而沒有使用:
和;
。C#正則表達式從數字中提取某些數字
什麼是我需要創建的正則表達式模式?
var input = "10:131186;";
string pattern = ":(.*);";
Match m = Regex.Match(input, pattern);
Console.WriteLine(m.Value);
與上面的代碼,我得到:131186;
代替10121186
。
剛打印組索引1
var input = "10:131186;";
string pattern = ":(.*);";
Match m = Regex.Match(input, pattern);
Console.WriteLine(m.Value[1]);
或使用斷言。
var input = "10:131186;";
string pattern = "(?<=:).*?(?=;)";
Match m = Regex.Match(input, pattern);
Console.WriteLine(m.Value);
謝謝:)它的工作。 – user2329418
接受5分鐘後,如果這個工程。 –
您可以使用模式\\d+
字符串匹配中的數字和它們連接爲一個字符串。
using System;
using System.Text;
using System.Text.RegularExpressions;
public class Program
{
public static void Main()
{
string input = "10:131186;";
MatchCollection mCol = Regex.Matches(input, "\\d+");
StringBuilder sb = new StringBuilder();
foreach (Match m in mCol)
{
sb.Append(m.Value);
}
Console.WriteLine(sb);
}
}
結果:
10131186
爲什麼你需要使用正則表達式。這比使用string.Replace
方法
string input = "10:131186;";
input = input.Replace(":", "");
input = input.Replace(";", "");
Console.WriteLine(input);
您可以嘗試使用Regex.Replace
慢:
var input = "10:131186;";
string pattern = @"(\d+):(\d+);";
string res = Regex.Replace(input, pattern, "$1$2");
Console.WriteLine(res);
,您還可以使用Split
與Join
:
var input = "10:131186;";
Console.WriteLine(string.Join("", input.Split (new char[] { ':', ';' }, StringSplitOptions.RemoveEmptyEntries)));
請試試這個..
string input = "10:131186;";
input = input.Replace(":", String.Empty).Replace(";", string.Empty);
使用string.Replace()比正則表達式... –