我有一个像这样的字符串:
string val = "123-12-1234";
Run Code Online (Sandbox Code Playgroud)
如何在C#中使用空字符串替换短划线.
我的意思是 val.Replace(char oldChar, newChar);
什么需要进去oldChar和newChar.
Bal*_*a R 107
您可以使用带有Replace()字符串的不同重载.
val = val.Replace("-", string.Empty)
Run Code Online (Sandbox Code Playgroud)
R. *_*des 41
由于其他答案在这里,即使是正确的,也没有明确地解决你的初步疑虑,我会这样做.
如果你调用string.Replace(char oldChar, char newChar)它将用另一个字符替换字符的出现.这是一对一的替代品.因此,结果字符串的长度将相同.
你想要的是删除破折号,这显然与用另一个角色替换它们不同.你不能用"无字符"替换它,因为1个字符总是1个字符.这就是为什么你需要使用带字符串的重载:字符串可以有不同的长度.如果用长度为0的字符串替换长度为1的字符串,则效果是破折号消失,替换为"无".