如何在C#.NET中用空字符替换字符串中的char

问题描述

|| 我有一个像这样的字符串:
string val = \"123-12-1234\";
如何在C#中使用空字符串替换破折号。 我的意思是
val.Replace(char oldChar,newChar);
oldChar
newChar
需要做什么。     

解决方法

        您可以使用带字符串的不同的ѭ4takes重载。
val = val.Replace(\"-\",string.Empty)
    ,        由于此处的其他答案(即使是正确的)也没有明确解决您最初的疑问,因此,我会做的。 如果您呼叫“ 6”,它将用另一个字符替换一个字符的出现。它是一对一的替代品。因此,结果字符串的长度将相同。 您想要的是删除破折号,这显然与用另一个字符替换破折号不同。您不能用\“ no character \”代替它,因为1个字符始终是1个字符。这就是为什么您需要使用带字符串的重载:字符串可以具有不同的长度。如果将长度为1的字符串替换为长度为0的字符串,则结果是破折号消失了,由\“ nothing \”代替。     ,        这似乎太简单了,但是:
val.Replace(\"-\",\"\");
    ,        
val.Replace(\"-\",\"\");
MSDN来源     ,        
string val = \"123-12-1234\";

val = val.Replace(\"-\",\"\"); // result: 123121234
    ,        如果要用空字符替换字符串中的字符,这意味着要从字符串中删除该字符,请阅读R. Martinho Fernandes的答案。 这是一个如何从字符串中删除字符的示例(用\“ Empty char \”替换):
    public static string RemoveCharFromString(string input,char charItem)
    {
        int indexOfChar = input.IndexOf(charItem);
        if (indexOfChar >= 0)
        {
            input = input.Remove(indexOfChar,1);
        }
        return input;
    }
或此版本删除字符串中所有char重复出现的版本:
    public static string RemoveCharFromString(string input,char charItem)
    {
        int indexOfChar = input.IndexOf(charItem);
        if (indexOfChar < 0)
        {
            return input;
        }
        return RemoveCharFromString(input.Remove(indexOfChar,1),charItem);
    }
    ,        如果您处于循环中,假设您要遍历要删除的标点符号列表,则可以执行以下操作:
      private const string PunctuationChars = \".,!?$\";
          foreach (var word in words)
                {
                    var word_modified = word;

                    var modified = false;

                    foreach (var punctuationChar in PunctuationChars)
                    {
                        if (word.IndexOf(punctuationChar) > 0)
                        {
                            modified = true;
                            word_modified = word_modified.Replace(\"\" + punctuationChar,\"\");


                        }
                    }
               //////////MORE CODE
               }
诀窍如下:
word_modified.Replace(\"\" + punctuationChar,\"\");
    ,        我有Razvan Dumitru的拉丁语代码版本,因为我们甚至使用了100万个指标。场外我使用双重替换:D
public static string CleanNumb(string numb) 
{
    foreach (char c in \".,\'´\")
       numb = numb.Replace(c,\' \');

    return numb.Replace(\" \",\"\");
}
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...