可能重复:
如何仅对字符串的一部分执行字符串替换?
如何仅将字符串从位置 X 替换到 Y,有字符串方法吗?
输入 = ABCDXYZABCDXYZ
字符串替换输入(开始位置 = 3,结束位置 = 9,XYZ 到 PQR)
XYZ 位置 3 到 9 应该被替换
输出 = ABCDPQRABCDXYZ
可能重复:
如何仅对字符串的一部分执行字符串替换?
如何仅将字符串从位置 X 替换到 Y,有字符串方法吗?
输入 = ABCDXYZABCDXYZ
字符串替换输入(开始位置 = 3,结束位置 = 9,XYZ 到 PQR)
XYZ 位置 3 到 9 应该被替换
输出 = ABCDPQRABCDXYZ
这是一个扩展方法,它将创建您描述的方法:
public static class StringExtension
{
public static string Replace(this string baseValue, int start, int length, string oldValue, string newValue)
{
return baseValue.Substring(0, start) + baseValue.Substring(start, length).Replace(oldValue, newValue) + baseValue.Substring(start + length, baseValue.Length - (start + length));
}
}
尝试这个。
string result = str.Substring(0,3) + str.Substring(3, 6).Replace("XYZ", "PQR") + str.Substring(9);
使用 Substring() 获取要替换的字符串,然后使用 Replace(
myString = Substring(positionOne, lenghtOfString)
接着
finalString = Replace(myString, replacementString)
String.Remove(开始,计数)