Вставьте содержание в текстовый файл в Powershell

Эта ошибка возникает при переполнении циклов цикла. Давайте рассмотрим простой пример:

class demo{
  public static void main(String a[]){

    int[] numberArray={4,8,2,3,89,5};

    int i;

    for(i=0;i<numberArray.length;i++){
        System.out.print(numberArray[i+1]+"  ");
    }
}

Сначала я инициализировал массив как «numberArray». то некоторые элементы массива печатаются с использованием цикла. Когда цикл запускает время «i», напечатайте элемент (numberArray [i + 1] .. (когда значение i равно 1, будет напечатан элемент numberArray [i + 1].) Предположим, что, когда i = (numberArray. length-2), последний элемент массива печатается. Когда значение «i» переходит к (numberArray.length-1), нет значения для печати. ​​В этот момент происходит «ArrayIndexOutOfBoundsException». Я надеюсь, что вы можете получить idea.thank you!

27
задан Jeff 9 December 2009 в 17:49
поделиться

2 ответа

Just output the extra text e.g.

(Get-Content $fileName) | 
    Foreach-Object {
        $_ # send the current line to output
        if ($_ -match "pattern") 
        {
            #Add Lines after the selected pattern 
            "Text To Add"
        }
    } | Set-Content $fileName

You may not need the extra ``n` since PowerShell will line terminate each string for you.

41
ответ дан 28 November 2019 в 04:59
поделиться

Как насчет этого:

(gc $fileName) -replace "pattern", "$&`nText To Add" | sc $fileName

Я думаю, что это довольно просто. Единственная неочевидная вещь - это «$ &», которое относится к тому, что соответствует «шаблону». Дополнительная информация: http://www.regular-expressions.info/powershell.html

12
ответ дан 28 November 2019 в 04:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: