2015-03-16 3 views
0

У меня есть столбец в списке SharePoint со многими символами новой строки, в том числе в начале текста. Я хочу удалить только первые две строки, т. Е. Те, которые были в начале текста, поскольку они бессмысленны.Сценарий SharePoint PowerShell для обрезки новых строк

Есть ли способ сделать это с функцией обрезки? Я не могу использовать replace, поскольку он заменит все новые строки. Как мне это сделать?

ответ

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 

Я не знаю, как вы будете выглядеть вход линия (многострочные строки против строк массива, новой строки и/или возврат каретки и т.д.), так ответ может потребоваться изменить.

+0

Он отлично работал. Но мне было интересно, почему \ n и \ r используются? и поскольку мы хотим удалить только две новые строки, почему мы использовали {0,4}? Просто обновление .. Я попробовал его с помощью^^ [\ n] {0,2} ', и это дало мне тот же результат! – Asu

+0

Это зависит от вашего ввода. В Windows-мире, linebreaks определяются как CR + LF ('\ r \ n'), в то время как Linux обычно просто использует' \ r'. Вот почему я закончил свой ответ, сказав, что вам может понадобиться изменить его. :) Регулярное выражение в моем ответе позволяет от 0 до 4 символов (это может быть только '\ r' или' \ n'), поэтому, если вам нужны только '\ n' для ввода данных, затем измените его на'^^ [ \ п] {0,2} ' ' –

Смежные вопросы