如何解决在C#字符串中将“”更改为“ _”
|| 我正在用C#开发一个软件,最终结果是一个Excel电子表格。电子表格的标题是使用几个变量创建的,以准确解释电子表格的含义。变量之一是包含如下数据的字符串: \'1.1.1 \' 我需要在创建电子表格时将其转换为: \'1_1_1 \' 我尝试使用String.Replace
方法,但它似乎忽略了它。有任何想法吗?
最好的祝福
解决方法
我打赌你这样做:
myString.Replace(\".\",\"_\");
当您应该这样做时:
myString = myString.Replace(\".\",\"_\");
请记住,.Net中的字符串是不可变的,因此任何更改都会产生新的字符串。
, 您可能会忽略string.Replace
的结果。你需要:
text = text.Replace(\'.\',\'_\');
仅调用Replace
不会更改现有字符串-它创建一个新字符串并返回它。字符串在.NET中是不可变的-创建后它们永远不会改变。
, 使用string.Replace
时是否还记得要分配它?
yourString.Replace(\".\",\"_\");
什么也不会做。
string newString = yourString.Replace(\".\",\"_\");
将返回带下划线的圆点的字符串。
, 如果我不得不猜测,您并没有捕获capturing0ѭ返回的值。字符串是不可变的,因此“ 0”返回一个新的字符串,您需要存储该字符串的引用。
string foo = \"1.1.1\";
foo = foo.Replace(\'.\',\'_\');
, String input = \"1.1.1\";
input = input.Replace(\".\",\"_\");
, 字符串是不可变的,因此请确保您正在像这样使用它:
string myString = \"1.1.1\";
myString = myString.Replace(\'.\',\'_\');
, String.Replace
是执行此操作的正确方法:
private void button1_Click(object sender,RoutedEventArgs e) {
String myNumbers = \"1.1.1\";
Console.WriteLine(\"after replace: \" + myNumbers);
myNumbers = myNumbers.Replace(\".\",\"_\");
Console.WriteLine(\"after replace: \" + myNumbers);
}
将产生:
after replace: 1.1.1
after replace: 1_1_1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。