我想以一种简单有效的方式(即速度快、内存少)替换字符串生成器末尾的倒数第二个字符。我猜这个字符串大约是 200-300 mb(不确定)。我该怎么做 ?如果输入字符串末尾还有换行符,答案会改变吗?
谢谢。
我想以一种简单有效的方式(即速度快、内存少)替换字符串生成器末尾的倒数第二个字符。我猜这个字符串大约是 200-300 mb(不确定)。我该怎么做 ?如果输入字符串末尾还有换行符,答案会改变吗?
谢谢。
您可以使用StringBuilder.Chars
覆盖特定字符StringBuilder
:
// For example, replace 'x' into the 2nd to last char
stringBuilder[stringBuilder.Length-2] = 'x';
StringBuilder
使用一个字符数组作为其后备存储。一个简单的
StringBuilder sb = new StringBuilder() ;
sb.Append( GetSomeEnormousString() ) ;
sb[ sb.Length - 2 ] = '*' ;
应该做你。
在涉及的任何分页之外,它是直接内存访问。