powershell - 如何在PowerShell中替换前面有零个、一个或多个空格的字符串
问题描述
我正在使用 .Replace() 函数用回车符和换行符替换我正在处理的文件中的换行符,但我也想匹配换行符之前的任意数量的空格。这可以使用正则表达式在同一操作中完成吗?
我尝试了各种“\s +*”组合,但没有一个有效,除了固定数量的手动输入空格。
此版本适用于一个空间案例:
.Replace(" `n","`r`n")
例如,像这样的文件:
...end of line one\n
...end of line two \n
看起来像:
...end of line one\r\n
...end of line two\r\n
解决方案
.NET类型的.Replace()
方法执行文字字符串替换。[string]
相比之下,PowerShell 的-replace
运算符基于正则表达式(正则表达式),因此它允许您匹配可变数量的空格(包括无空格) *
:
"...end of line two `n" -replace ' *\n', "`r`n"
推荐阅读
- c# - IDE0067 与 CA2000 的区别
- javascript - 如何模拟 axios API 调用?开玩笑
- java - java.lang.ClassNotFoundException:读取序列化会话数据时的 int
- python - 如何使用 P 中的行值总和创建一个新列
- c++ - 如何在 C++ 中删除重整
- javascript - 在 React 的 useEffect() 中获取数据返回“未定义”
- linux - Spring Boot 未读取 Linux 服务器上的环境变量
- c# - 为什么线程 IsAlive 即使在线程内执行最后一个命令后仍返回 false
- android - 在我的开发 Android 应用程序上设置 crashlytics 时要进行哪些主要调整?
- r - 使用 get() 从包中调用函数而不加载包