C# 正则表达式 : replace either of two matches with the same value

标签 c# regex

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

...和

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

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

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

最佳答案

试试这个(看起来更简单)。我假设您永远不想在结果中使用“--”。

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

关于C# 正则表达式 : replace either of two matches with the same value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11640667/

相关文章:

c# - .Net Graphicspath 包络失真

regex - TinyMCE 使用正则表达式突出显示文本

用于验证输入的 JavaScript 正则表达式是否超过 0 个字符

c# - Unity 中的缩放问题

c# - 如何绑定(bind)到域服务器的登录以获取程序访问权限

javascript - dojo ValidationTextBox + 正则表达式

Python:用正则表达式从一系列单词中制作一个 python 字典?

java - 正则表达式 - SQL 语句

c# - 如何在C#中连接到位于本地服务器的数据库

c# - 如何在 Media.AfterSave 事件处理程序中获取当前的 Umbraco 用户?