簡體   English   中英

替換/使用正則表達式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM