2
我試圖在每個字符串中的一組分隔符之間替換所有特殊字符的所有實例。我相信解決方案將包括正則表達式匹配的一些組合,以檢索每組分隔符和正則表達式之間的文本替換以用空格替換匹配內的每個違規字符。這是我到目前爲止有:如何替換字符串中每組分隔符之間的任何特殊字符的所有實例?
string input = "***XX*123456789~N3*123 E. Fake St. Apt# 456~N4*Beverly Hills*CA*902122405~REF*EI*902122405~HL*1*1*50*0~SBR*P*18*******MA~NM1*IL*1*Tom*Thompson*T***MI*123456789A~N3*456 W. False Ave.*Apt. #6B~N4*Beverly Hills*CA*90210~DMG*";
string matchPattern = "(~N3\\*)(.*?)(~N4\\*)";
string replacePattern = "[^0-9a-zA-Z ]?";
var matches = Regex.Matches(input, matchPattern);
foreach (Match match in matches)
{
match.Value = "~N3*" + Regex.Replace(match.Value, replacePattern, " ") + "~N4*";
}
MessageBox.Show(input);
我期望的消息框,顯示以下內容:
"***XX*123456789~N3*123 E Fake St Apt 456~N4*Beverly Hills*CA*902122405~REF*EI*902122405~HL*1*1*50*0~SBR*P*18*******MA~NM1*IL*1*Tom*Thompson*T***MI*123456789A~N3*456 W False Ave *Apt 6B~N4*Beverly Hills*CA*90210~DMG*"
顯然,這是行不通的,因爲我不能分配給內部的匹配值循環,但我希望你可以按照我的思維過程。任何不在分隔符之間的字符保持不變是很重要的。任何方向或建議都會有幫助。非常感謝!
這正是我所期待的!非常感謝! –