1

尝试在字符串中进行一些正则表达式匹配和替换,从而将所有与符号、单引号和空格字符替换为破折号“-”

...和

所有重复的破折号都替换为单个破折号。

这是我正在尝试的,但它不起作用,因为重复的破折号没有被替换。任何帮助表示赞赏和感谢。

Regex.Replace(mystring, "([' &])|([-]{2,})", "-")
4

2 回答 2

6

试试这个(看起来更简单)。我假设您从不希望结果中出现“--”。

string orig = "12467&89- 1&2467'89 12'46789 12467--89";

Regex regex = new Regex("[&' -]+");

string newString = regex.Replace(orig, "-");

输出:

12467-89-1-2467-89-12-46789-12467-8
于 2012-07-24T23:30:49.507 回答
1

该正则表达式应该可以工作:

你只需要完成任务:

mystring = Regex.Replace(mystring, "([' &])|([-]{2,})", "-");

字符串是不可变的,记得吗?

于 2012-07-24T23:25:04.817 回答