首页 > 解决方案 > 在Powershell中将两行合并为1

问题描述

一位年长的家庭成员使用 Windows 记事本记录了过去几年的回忆录,因此每个文件(按年份)都是简单的文本。我的任务是尽可能地规范文档,以便以后打印。我正在努力解决的问题是如何处理每个章节的标题。在单个文本文件中可以包含多个章节条目。有些章节标题很容易获得,例如:

Chapter 1
text
text
text.
chapter two
text
text

但她并不总是那么整洁。她的一些文件包含如下行

"   chapter  
  three  
  "

带有前导和尾随空格,甚至是 CarriageReturn/LineFeed。

我无法获得管理“第三章”情况的语法。这是我到目前为止所做的:

$charstr = '   chapter    
    three
text here
more text 

    '
#remove leading spaces
$charstr2 = $charstr.trim() 
#find and replace chapter to all caps and start on a new line
$charstr2.Replace("chapter ",''nCHAPTER ')

对于如何将多行文本字符串规范化为“第三章”之类的格式(理想情况下,我也会 UPPER() 章节编号,例如“第三章”),我肯定会很感激一些帮助。

我试过使用\s,如

$charstr2 = $charstr.trim() -replace '\s+',但我显然做错了什么。

谢谢!

标签: stringpowershellsplitstring-concatenation

解决方案


推荐阅读