[英]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.