微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在C#字符串中将“”更改为“ _”

如何解决在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 举报,一经查实,本站将立刻删除。