我進入系統(例如24132352454235000534),它們各20個字符長批號收集提取從字符串的子串。我想用正則表達式從每個批號中提取7到15的子字符串。使用正則表達式
我想使用正則表達式的原因是,要求不是要修改超過20個進程使用的現有代碼,而只是將表達式添加到配置中,以便在需要時可以應用該表達式正確的過程。
我怎麼會去這樣做嗎?
我進入系統(例如24132352454235000534),它們各20個字符長批號收集提取從字符串的子串。我想用正則表達式從每個批號中提取7到15的子字符串。使用正則表達式
我想使用正則表達式的原因是,要求不是要修改超過20個進程使用的現有代碼,而只是將表達式添加到配置中,以便在需要時可以應用該表達式正確的過程。
我怎麼會去這樣做嗎?
試試這個正則表達式:
(\d{6})(\d{9})(\d{5})
示例代碼:
string strRegex = @"(\d{6})(\d{9})(\d{5})";
RegexOptions myRegexOptions = RegexOptions.Multiline | RegexOptions.Singleline;
Regex myRegex = new Regex(strRegex, myRegexOptions);
string strTargetString = @"24132352454235000534";
string strReplace = @"$2"; // corresponds to the 2nd group: (\d{9})
return myRegex.Replace(strTargetString, strReplace);
最終字符串:
524542350
你能解釋一下這個表情在做什麼嗎? – Kobojunkie
@Kobojunkie - 它正在向前看6位數字(\ d {6}),捕獲下9位數字(\ d {9})並忽略最後5位數字(\ d {5})。 – Brian
太棒了!謝謝 – Kobojunkie
您能否提供一個示例輸出並將您的問題的格式設置爲更易讀?謝謝。 –