c# - 根据分隔符符号格式化字符串
问题描述
我有一个这样的字符串
4366|2d53|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|3f80| 0|4248|295f|41c4|19c4|0|268
在这里,| - 表示为一个分隔符我想让每个分隔符正好包含 4 个字符
例如: 0|0 这必须简化为 0000|0000 12|13 这必须简化为 0012|0013
注意:如果 char. 附上| 小于 4 然后在字符前面添加零,即 12|13 简化为 0012|0013 不像这样 1200|1300
结果:
4366|2d53|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|3f80| 0|4248|295f|41c4|19c4|0|268
我想将其转换为
4366|2d53|0000|0000|0000|0000|0000|0000|0000|0000|0000|0000|0000|0000|0000|0000|0000|0000|0000|0000|0000|0000|0000|0000|3f80| 0000|4248|295f|41c4|19c4|0000|2680
解决方案
这可以通过简单的字符串操作来解决Split()
,PadLeft()
并且Join()
string input = "4366|2d53|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|3f80|0|4248|295f|41c4|19c4|0|268";
string result = string.Join("|",input.Split('|').Select(x => x.PadLeft(4, '0')));
推荐阅读
- c# - post 方法是否可以在继续使用该方法之前向用户返回确认框?
- vue.js - 在 Nuxt 中间件中获取请求的页面路由
- python - 绘制直方图未正确呈现数据
- bash - Bash 中的十六进制转十进制
- html - Tealium 标记(谷歌分析)
- python - 降低时间复杂度:查找列表中元素之间的最小差异
- wordpress - ACF 字段更新后的 WordPress 帖子更新
- sql - 使用 CURRENT_TIMESTAMP 值插入到选择中
- kubernetes - Helm 安装失败并显示“渲染的清单包含已存在的资源”(ClusterRole)
- linux - 无法从 Alpine linux 上的边缘存储库安装 aws-cli