繁体   English   中英

正则表达式替换错误的符号C#

[英]RegEx replace wrong symbols C#

我需要用破折号“-”替换字符串中字符和数字以外的错误符号

var myString = "this=is+/* wrong!@# string^&*(";

我用

Regex.Replace(myString, "[^0-9a-zA-Z]+", "-");

结果是“ this-is ----错误---- string ----”

但我需要“这是错误的字符串”

我应该在RegEx中进行哪些更改。 谢谢!

无法复制:

using System;
using System.Text.RegularExpressions;

class Test
{
    static void Main()
    {
        var input = "this=is+/* wrong!@# string^&*(";
        var output = Regex.Replace(input, "[^0-9A-Za-z]+", "-");
        Console.WriteLine(output);
    }                   
}

输出: this-is-wrong-string-

因此,您可能想使用TrimEnd('-')来消除尾随的“-”,但是对我来说,这看起来不错。 将您的代码与我的简短但完整的程序进行比较,如果您找不到问题所在,请提出一个类似的简短但完整的程序来演示问题。

您的正则表达式对我有用:

PS> "this=is+/* wrong!@# string^&*(" -replace '[^0-9a-zA-Z]+','-'
this-is-wrong-string-

但是您需要删除尾随-之后。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM