正则表达式在 C# 中拆分 OSX df -h 输出
Posted
技术标签:
【中文标题】正则表达式在 C# 中拆分 OSX df -h 输出【英文标题】:Regex split OSX df -h output in C# 【发布时间】:2021-03-29 02:35:58 【问题描述】:我正在解析一些 mac OSX 日志文件,并且遇到了 df -h
命令的输出,我现在需要对其进行拆分。该行看起来像:
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
现在我不能只在 space
字符上进行拆分,因为其中有一个空格
Mounted on
,但是我需要把它分成九个字段。
我尝试使用\s2,
仅在多个空格上进行拆分,但是Avail
和Capacity
字段之间存在单个空格,所以我对如何处理这个问题有点迷茫。
任何建议将不胜感激。
【问题讨论】:
它看起来像固定宽度的 csv 数据。见***.com/questions/11365466/… 没有“固定宽度的 CSV”搜索。它是固定宽度或 CSV。 【参考方案1】:好像Mounted可以是on
和off
对吧?
你可以像这样使用它:
((Mounted .+?)|.+?)(\s+|$)
DEMO
你也可以用空格\s+
分割它,你已经知道Mounted
后面的词属于它。
【讨论】:
No 'Mounted on' 只是一个包含系统上安装点的字符串。不过谢谢 @Tony 检查我编辑的答案。如果安装这个词是曾经导致的问题。它应该解决它 谢谢,\s+ 似乎完成了这项工作。以上是关于正则表达式在 C# 中拆分 OSX df -h 输出的主要内容,如果未能解决你的问题,请参考以下文章