gpt4 book ai didi

C# 替换字符串中的字符串

转载 作者:可可西里 更新时间:2023-11-01 07:59:39 25 4
gpt4 key购买 nike

是否可以在不分配返回值的情况下替换字符串中的子字符串?

我有一个字符串:

string test = "Hello [REPLACE] world";

我想用其他东西替换子字符串 [REPLACE]:

test = test.replace("[REPLACE]", "test");

这工作正常,但如果不将返回值分配给变量,我该怎么做呢?

我想要这样的东西:

test.replace("[REPLACE]", "test");

最佳答案

正如 dlev 所提到的,您不能使用 string 执行此操作,因为字符串在 .NET 中是不可变的 - 一旦构造了一个字符串,您就无能为力了(不包括不安全代码或反射)更改内容。这使得字符串通常更容易使用,因为您不需要担心防御性复制,它们自然是线程安全的等等。

然而,它的可变表亲是 StringBuilder - 它有一个 Replace执行对象内替换的方法。例如:

string x = "Hello [first] [second] world";

StringBuilder builder = new StringBuilder(x);
builder.Replace("[first]", "1st");
builder.Replace("[second]", "2nd");

string y = builder.ToString(); // Value of y is "Hello 1st 2nd world"

关于C# 替换字符串中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6945255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com