[英]Replacing / with regex
我有一個問題,用正則表達式或任何其他最佳實踐或有效方式替換一些字符。
這是我輸入的內容,它大致采用相同的形式: A/ABC/N/ABC/123
輸出應如下所示: A_ABC_NABC123
,基本上第一個2 /
應該更改為_
,其余的被刪除。
當然我可以使用一些String.Replace
。 等一個接一個,但我認為這不是一個好方法。 我尋找更好的解決方案。
那么如何使用Regex呢?
這樣做,雖然可能有一個更簡單的方法:
static class CustomReplacer
{
public static string Replace(string input)
{
int i = 0;
return Regex.Replace(input, "/", m => i++ < 2 ? "_" : "");
}
}
var replaced = CustomReplacer.Replace("A/ABC/N/ABC/123");
我已經包裝了這樣的代碼,以確保您不會意外地使用int
變量。
編輯:還有這種超負荷一定數量更換的后停止,但你必須做的兩個步驟:更換前兩/
帶_
,然后替換剩余/
什么也沒有。
試試這個:
string st = "A/ABC/N/ABC/123";
string [] arrStr = st.Split(new char[] { '/' });
st = string.Empty;
for (int i = 0; i < arrStr.Length; i++)
{
if (i < 2)
st += arrStr[i] + "_";
else
st += arrStr[i];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.