如何使用c#删除字符串中的破折号( - )?

时间:2014-12-15 08:06:44

标签: c#

   Regex rgx2 = new Regex("[^[0-9] . \n\r\t]");

   string  dash = Regex.Replace(Des_AccNo.ToString(), @" ^-");
  • 我需要清理此字符串 100-0 @ / 2 ^ 2341?! 100022341

5 个答案:

答案 0 :(得分:11)

我不知道您的代码是什么,但您可以通过以下方式实现:

val = val.Replace("-", string.Empty)

答案 1 :(得分:7)

如果要删除所有非数字字符:

string result = Regex.Replace(inputString, @"[^0-9]", "");

基本上所说的是“如果字符不是数字,则将其替换为空字符串。” ^作为字符组中的第一个字符否定它。也就是说,[0-9]匹配任何数字。 [^0-9]匹配之外的所有内容。请参阅MSDN文档中的Character Classes

表达式@"[^\d]"也可以使用

答案 2 :(得分:1)

我基本上会创建一个静态类,该类会针对任何字符串自动弹出。 如果GUID相同,则只需执行

Guid.NewGuid().ToString("N") returns only characters 

输入:12345678-1234-1234-1234-123456789abc 输出:12345678123412341234123456789abc

    public static string ToNonDashed(this string input)
    {
        return input?.Replace("-", string.Empty);
    }

答案 3 :(得分:0)

你可以试试这个:

 Des_AccNo = Des_AccNo.Replace("-", string.Empty);

答案 4 :(得分:0)

string dash = Des_AccNo.ToString().Replace("-", string.Empty);