私はとても迷惑です。私はC#と同じように置換を行うのが好きですが、一度に1文字または指定したXの量だけを置換するC++スタイルの置換えはありますか?.NET String.Replace
2
A
答えて
5
いいえ文字の1つのインスタンスだけを置き換える置換メソッドはBCLにありません。 2つの主要な置換メソッドは、すべての出現を置き換えます。しかし、1文字の置換を行うバージョンを作成することは非常に難しいことではありません。あなたは文字と文字の置換を(あなただけの操作の特定の数をしたい場合は特に)やってに興味があるなら
public static string ReplaceSingle(this string source, char toReplace, char newChar) {
var index = source.IndexOf(toReplace);
if (index < 0) {
return source;
}
var builder = new StringBuilder();
for(var i = 0; i < source.Length; i++) {
if (i == index) {
builder.Append(newChar);
} else {
builder.Append(source[i]);
}
}
return builder.ToString();
}
2
オカレンスの1つだけを置き換えたい場合は、IndexOfとSubStringを使用してください。
0
、あなたはおそらくchar[]
とにあなたの文字列を変換するためにうまくやっ思いあなたの操作をインデックスで行い、それを文字列に戻します。あなたは不必要な文字列の作成を自分で省くことができますが、置き換えた文字列と同じ長さの文字列がある場合にのみ機能します。
0
最初のオカレンスだけを置換する拡張メソッドを記述することができます。
1
public string ReplaceString(string source,int index,string newString)
{
char[] sourceArray=source.ToCharArray();
char[] newArray=newString.ToCharArray();
for(int i=index;i<index+newString.Length ;i++)
sourceArray[i]=newArray[i];
return new string(sourceArray);
}
関連する問題
- 1. はstring.replace
- 2. C#forwardonly string.replace
- 3. はstring.replace方法
- 4. string.Replace()関数
- 5. String.Replace()とStringBuilder.Replace()
- 6. String.replaceのタイムアウト
- 7. Javascript double string.replace()
- 8. pythonのstring.replaceメソッド
- 9. string.replaceの問題
- 10. String.Replace()より速く
- 11. string.replace vs StringBuilder.replace for memory
- 12. 質問のjavascript - string.replace()
- 13. String.replace()と動的メモリ
- 14. 方法String.replaceする(/\/\*.*?\*\// SG、 "")
- 15. string.Replace(); 2つの場合?
- 16. Java String.replace()またはStringBuilder.replace()
- 17. String.Replace(char、char)またはReplace(string、string)?
- 18. String.Replace()は "|"で動作しません
- 19. JavascriptをString.replace()、あいまいな結果
- 20. String.ReplaceはUnicode文字「ARABIC LETTERS」を置き換えません
- 21. Inverse String.Replace - それをより速く行う方法?
- 22. javascript string.replaceターゲットは関数を実行できますか?
- 23. string.replaceがnode.jsエクスプレスサーバで動作していない
- 24. String.replace Enum.reduceでRuntimeErrorを発生させます
- 25. whileループ内のString.replaceが決して停止しない
- 26. Python - string.replaceを使用して二重引用符をエスケープする
- 27. Javascript:スペースのためのString.replaceが機能していません
- 28. Stringエンティティ参照のためにString.Replaceが機能しません
- 29. Python forループでString.Replaceを使用してください。
- 30. python 3.xでstring.replace()を使用する方法
1)既に回答があり、私はそれを受け入れました。 2)あなたはこれを読めないようにする1010コードボタンを使いませんでした。 –