c# - 用相同的单个字符替换连续字符

标签 c#

我只是想知道是否有一种简单的方法可以做到这一点。即用相同的字符替换连续出现的字符。

例如:- 如果我的字符串是“something likeeeee tttthhiiiissss”,那么我的最终输出应该是“something like this”。

字符串也可以包含特殊字符,包括空格。

你们能推荐一些简单的方法吗?

最佳答案

应该这样做:

var regex = new Regex("(.)\\1+");
var str = "something likeeeee!! tttthhiiissss";

Console.WriteLine(regex.Replace(str, "$1")); // something like! this

正则表达式将匹配任何字符 (.) 并且 \\1+ 将匹配第一组中捕获的任何字符。

关于c# - 用相同的单个字符替换连续字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3971412/

相关文章:

c# - 如何在 VS2013 调试期间加载 dll

c# - IActionFilter 和 IAuthorizationFilter 的区别

c# - Parallel.For 与 Npgsql 一起使用吗?

c# - 通过System.Linq在C#中获取元素的属性名称和值

c# - 如何将 Global ActionFilter 应用于所有 Controller 并返回结果?

c# - Microsoft Bot Framework : Typing address in Facebook messenger does not work 的 Bing 位置控制

c# - 正则表达式用静态词替换找到的匹配项

c# - 为用户控件内的列表框设置项目模板

c# - .Net Core Integration TestServer 与 Generic IHostBuilder

c# - 使用 .NET Reactor 反 ILDASM