You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

正则表达式实现字符串开头短横线加空格及还原,附非正则代码

字符串转换:正则与非正则实现方案

需求说明

原始输入字符串:

var input = "---Three dashes a-b-c-d";

需要转换为目标输出:

var output = "- - - Three dashes a-b-c-d";

同时要实现反向转换(将上述输出还原为原始输入),以下是具体实现方案:

正则实现:输入转输出

通过正则匹配字符串开头的连续短横线,将每个短横线用空格分隔:

using System.Text.RegularExpressions;

var input = "---Three dashes a-b-c-d";
var output = Regex.Replace(input, @"^(-+)", match => string.Join(" ", match.Value.ToCharArray()));

原理:^(-+)匹配开头所有连续的短横线,通过匹配器将短横线数组用空格拼接,实现---到- - -的转换。

正则实现:输出还原为原始输入

匹配开头的- 组合,移除其中的空格恢复连续短横线:

using System.Text.RegularExpressions;

var output = "- - - Three dashes a-b-c-d";
var input = Regex.Replace(output, @"^(- )+", match => match.Value.Replace(" ", ""));

原理:^(- )+匹配开头所有- 的组合,将匹配内容中的空格移除,还原为连续的---。

非正则实现:输入转输出

通过循环遍历开头的短横线,逐个添加空格后拼接剩余内容:

var input = "---Three dashes a-b-c-d";
var output = string.Empty;
var i = 0;
while (i < input.Length && input[i] == '-')
{
    output += "- ";
    i++;
}
output += input.Substring(i);

内容的提问来源于stack exchange,提问作者MicMit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 07:05:24