我可以用什麼來替換字符串中的中間字符:000
變爲010
。只用3個字符替換字符串的中間部分
我必須用正則表達式來做,如果是的話,我可以有這種模式嗎?或者只用String.Replace
方法?
信息:字符串中總是有數字。
我可以用什麼來替換字符串中的中間字符:000
變爲010
。只用3個字符替換字符串的中間部分
我必須用正則表達式來做,如果是的話,我可以有這種模式嗎?或者只用String.Replace
方法?
信息:字符串中總是有數字。
檢查這些鏈接
http://msdn.microsoft.com/en-us/library/ms228599.aspx
http://msdn.microsoft.com/en-us/library/xwewhkd1(v=vs.90).aspx
希望這些鏈接幫助ü
第一個幫助,我用'char []'做了它......謝謝:) – asdasdad
乾杯.......... –
更換字符或字符串通過索引是一個有點尷尬的事情。這將歸結爲
string newString = str.Substring(0,1) + newChar + str.Substring(2);
它是由內容在那裏你可以使用Replace method由另一個更換子要容易得多。
正則表達式將是一種選擇,但即使如此,它不漂亮:
Regex.Replace(str, "^(.).(.)$", "${1}1$2"
有替換過程背後沒有明顯的邏輯,尋找關於這個問題,但假設你在某些時候知道哪些符號應出現在中間,
可以創建一個擴展方法,這樣說
public static class Extension
{
public static string ReplaceMiddle(this string value, char charToPutIn)
{
var builder = new StringBuilder(value);
builder[value.Length/2] = charToPutIn;
return builder.ToString();
}
}
,使用後該是這樣的:
"hello".ReplaceMiddle('5')
這將產生類似結果:
"he5lo"
預期。
如果它只是一個3字符串:
String number = "123";
String res = number[0] + "5" + number[2];
string s = "111000111";
string pattern = "000";
string replacement = "010";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(s, replacement);
lbloriginal.Text = s;
lblnew.Text = result;
您還沒有給出關於你想要做的遠遠不夠的細節。請提供其他輸入/輸出組合 - 例如,您希望「123」成爲什麼? –
多一點輸入/輸出將幫助我們。 – t3hn00b