在下面的示例中,我有一个字符串,其中包含管道|
,用于分隔字符串中的每个段(即:0123456789)。我想要做的是用字符串替换管道字符,如下例所示。我该如何做到这一点?
根据我的理解,.Replace
只能支持(char,char)
或(string, string)
。
示例代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleProject
{
public class Program
{
public static void Main(string[] args)
{
String val1 = "0123456789|0123456789|0123456789|0123456789|0123456789";
val1.Replace('|'.ToString(), "*val1TEST*");
String val2 = "0123456789|0123456789|0123456789|0123456789|0123456789";
val2.Replace("|", "**val2Test**");
Console.WriteLine(String.Format("{0}{1}","val1: ",val1));
Console.WriteLine(String.Format("{0}{1}", "val2: ", val2));
}
}
}
从控制台输出
val1: 0123456789|0123456789|0123456789|0123456789|0123456789
val2: 0123456789|0123456789|0123456789|0123456789|0123456789
答案 0 :(得分:6)
如果查看.Replace()
的定义,它会返回一个字符串 - 所以你需要将它设置为一个变量,如下所示:
val1 = val1.Replace('|'.ToString(), "*val1TEST*");
答案 1 :(得分:1)
您遇到的问题是Replace()
返回一个字符串。它不会修改现有的字符串。您需要将字符串设置为返回值:
str = str.Replace(...);
此外,一个字符的字符串与单个字符相同,这就是没有Replace(char, string)
的原因。