【问题标题】:SharePoint PowerShell script to trim new lines用于修剪新行的 SharePoint PowerShell 脚本
【发布时间】:2015-05-18 21:25:47
【问题描述】:

我在 SharePoint 列表中有一个包含许多换行符的列,包括在文本的开头。我只想删除前两个换行符,即文本开头的换行符,因为它们没有意义。

有没有办法用修剪功能做到这一点?我不能使用替换,因为它将替换所有换行符。我该怎么做?

【问题讨论】:

    标签: powershell sharepoint-2013 sharepoint-list


    【解决方案1】:

    字符串对象有一个TrimStart()-方法,您可以使用它来删除空格和换行符。

    $s = @"
    
    
      test
    "@
    
    #Trim all whitespace and newlines before the text.
    $s.TrimStart()
    

    输出:

    test
    

    上述解决方案可能会删除太多。要仅删除两个换行符(0-2 个换行符),请尝试下面的正则表达式。

    $s = @"
    
    
      test
    "@
    
    $s -replace '^[\n\r]{0,4}'
    

    输出:

      test
    

    我不确定您输入的内容看起来如何(多行字符串与字符串数组、换行符和/或回车等),因此可能需要修改答案。

    【讨论】:

    • 效果很好。但我想知道为什么 \n 和 \r 都被使用?既然我们只想删除 2 个新行,为什么要使用 {0,4}?只是一个更新.. 我用 '^[\n]{0,2}' 试过它,它给了我同样的结果!
    • 这取决于您的输入。在 Windows 世界中,换行符定义为 CR+LF (\r\n),而 Linux 通常只使用 \r。这就是为什么我在回答结束时说您可能需要修改它。 :) 我的答案中的正则表达式允许 0 到 4 个字符(只能是 \r\n),所以如果您只需要 \n 输入数据,则将其更改为 '^[\n]{0,2}'
    猜你喜欢
    • 2012-06-14
    • 1970-01-01
    • 2018-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    • 2022-08-05
    • 2020-09-16
    相关资源
    最近更新 更多