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

PowerShell处理OpenWeatherMap数据:指定字符后插入换行解决输出格式问题

问题原因说明
  • 拆分丢失匹配字符:PowerShell 的 -split 运算符默认基于正则表达式执行拆分,拆分匹配的字符会作为边界被剔除,不会保留在返回的结果数组中,因此按Oct拆分后所有Oct字符串都会消失。
  • 特殊字符拆分报错:)属于正则表达式的保留字符,代表分组结束标记,直接传入未转义的)会导致正则语法解析失败,抛出字符数量不匹配的错误。
实现方案

你可以直接用正则替换的方式插入换行,逻辑更直观,也能保留原有字符:

  1. 若要在Oct前插入换行,直接将Oct替换为换行符+Oct即可:
$forecastInfo -join "" -replace 'Oct', "`nOct" | Out-File C:\Wetterbot\Vorhersage\$Datum.txt -Encoding UTF8
  1. 若要在)后插入换行,需要先转义正则特殊字符),替换为)+换行符即可:
$forecastInfo -join "" -replace '\)', ")`n" | Out-File C:\Wetterbot\Vorhersage\$Datum.txt -Encoding UTF8

如果你偏好使用拆分逻辑实现,可以用正则零宽正向先行断言,匹配目标字符的前置位置而非目标字符本身,拆分后不会丢失原有内容:

# 按Oct前置位置拆分,拆分后每个子串开头保留Oct
$forecastInfo -join "" -split '(?=Oct)' -join "`n" | Out-File C:\Wetterbot\Vorhersage\$Datum.txt -Encoding UTF8

注:额外添加-Encoding UTF8参数是为了避免Out-File默认使用的UTF-16编码导致其他程序读取文件乱码,可根据你的实际需求调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 09:06:04