我有這個C#代碼,我發現並改進了我的需求,但現在我想讓它適用於所有數字數據類型。使用正則表達式從字符串中提取數字
public static int[] intRemover (string input)
{
string[] inputArray = Regex.Split (input, @"\D+");
int n = 0;
foreach (string inputN in inputArray) {
if (!string.IsNullOrEmpty (inputN)) {
n++;
}
}
int[] intarray = new int[n];
n = 0;
foreach (string inputN in inputArray) {
if (!string.IsNullOrEmpty (inputN)) {
intarray [n] = int.Parse (inputN);
n++;
}
}
return intarray;
}
這非常適用於試圖提取整數整數出來的字符串,但我有問題,我現在用正則表達式表達不設置考慮是負數或包含一個十進制數指向他們。我最後的目標就像我所說的那樣,是爲了解決所有數字數據類型的問題。任何人都可以幫我嗎?
您一定要轉而使用'int'數據類型。也許使用'decimal'。不幸的是,我的正則表達式沒有達到要求,所以我無法幫你解答。 – musefan
當你說「所有數字數據類型」時,你是否想要處理指數,十六進制等?或者你只需要+/-和小數點處理? – BuddhiP
NumberExtracter會是一個更好的名字。你將如何返回這些數字?因爲你不能在中間返回一個帶有double的int列表。這些數字也有多大?也許你需要創建一個可以容納任何數字的自定義類。 – MrFox