I am so annoyed. Typically I like replace acting as it does in C# but is there a C++ styled replace where it only replaces one letter at a time or the X amount I specify?
相关问题
- Sorting 3 numbers without branching [closed]
- Graphics.DrawImage() - Throws out of memory except
- Generic Generics in Managed C++
- Why am I getting UnauthorizedAccessException on th
- 求获取指定qq 资料的方法
No there is not a Replace method in the BCL which will replace only a single instance of the character. The two main Replace methods will replace all occurances. However, it's not terribly difficult to write a version that does a single character replacement.
If you're interested in doing a character-for-character replacement (especially if you only want to do a particular number of operations), you'd probably do well to convert your string to a
char[]
and do your manipulations there by index, then convert it back to a string. You'll save yourself some needless string creation, but this will only work if your replacements are the same length as what you're replacing.Just use IndexOf and SubString if you only want to replace one occurance.
You could write an extension method to replace just the first occurrence.