c# - C# RegEx 模式将字符串拆分为 2 个字符的子字符串
问题描述
我正在尝试找出一个正则表达式,用于将字符串拆分为 2 个字符的子字符串。
假设我们有以下字符串:
string str = "Idno1";
string pattern = @"\w{2}";
使用上面的模式会给我“Id”和“no”,但它会跳过“1”,因为它与模式不匹配。我想要以下结果:
string str = "Idno1"; // ==> "Id" "no" "1 "
string str2 = "Id n o 2"; // ==> "Id", " n", " o", " 2"
解决方案
Linq 可以简化代码。小提琴版本有效
想法:我有 a chunkSize
= 2 作为您的要求,然后,Take
索引处的字符串 (2,4,6,8,...) 以获取字符块并将Join
它们转换为string
.
public static IEnumerable<string> ProperFormat(string s)
{
var chunkSize = 2;
return s.Where((x,i) => i % chunkSize == 0)
.Select((x,i) => s.Skip(i * chunkSize).Take(chunkSize))
.Select(x=> string.Join("", x));
}
有了输入,我就有了输出
Idno1 -->
Id
no
1
Id n o 2 -->
Id
n
o
2
推荐阅读
- php - 通过自定义批量操作处理程序更新时将订单状态更改为已确认而不发送确认电子邮件
- linux - 使用“sed 命令”在多输出文件中以“F serve..”开头的打印行
- c# - Unity 使用 OnPreRender()、OnPostRender() 仅渲染 1 个主摄像机的阴影
- javascript - 无法在日历中显示事件
- c# - 同时将元数据存储到远程服务器和本地数据库,哪个应该是第一个?
- google-analytics - 收到错误 - 缺少 google_app_id,Firebase Analytics 已禁用
- azure - 如何在 azure app 洞察中保存一些自定义 qna 制造商数据?
- symfony - Symfony 注解路由顺序
- embedded-resource - “如何嵌入资源”或“如何访问资源”
- python-3.x - 当一列有值而另一列为空时的值百分比