Как я могу разбить строку на куски по два символа каждый в Perl?

Я знаю, что это старо, но я наткнулся на него с помощью Google.

Если у вас есть возвращаемое значение в вашей хранимой процедуре, скажите «Return 1» - не используя выходные параметры.

Вы можете сделать следующее - «@RETURN_VALUE» тихо добавляется к каждому объекту команды. НЕТ НЕСКОЛЬКО ДОБАВИТЬ ДОБАВИТЬ

    cmd.ExecuteNonQuery();
    rtn = (int)cmd.Parameters["@RETURN_VALUE"].Value;
32
задан hippietrail 5 April 2011 в 07:23
поделиться

3 ответа

@array = ( $string =~ m/../g );

оператор сопоставления с образцом ведет себя специальным способом в контексте списка в Perl. Это обрабатывает операцию многократно, соответствуя шаблону против остатка от текста после предыдущего соответствия. Затем список формируется из всего текста, который соответствовал во время каждого приложения сопоставления с образцом.

54
ответ дан Bill Karwin 5 April 2011 в 18:23
поделиться
  • 1
    Только для продолжения, с помощью этого метода, кажется, автоматически использует запрос Google входа в систему в адресе. Что я сделал для фиксации, это должно было изменить мое местоположение обратного вызова Google в консоли Google для указания на этот адрес. Я также добавил маршрут в своих маршрутах 'файла RouteConfig. MapRoute (имя: " signin-google" URL: " signin-google" значения по умолчанию: новый {контроллер = " Account" действие = " ExternalLoginCallback"})'; спасибо за Вашу справку @suhas-joshi – Brad Baskin 16 April 2014 в 10:18

Если действительно необходимо использовать split, можно сделать a:

grep {length > 0} split(/(..)/, $string);

, Но я думаю, что самый быстрый путь был бы с unpack:

unpack("(A2)*", $string);

Оба этих метода имеют "преимущество", что, если строка имеет нечетное число символов, она произведет последний на своем собственном.

37
ответ дан Matt Simerson 5 April 2011 в 18:23
поделиться
  • 1
    @Brad: Жаль couldn' t отвечают достаточно скоро, но довольный Вы нашли решение – Suhas Joshi 17 April 2014 в 04:30

На самом деле, для ловли нечетного символа Вы хотите сделать второй символ дополнительным:

@array = ( $string =~ m/..?/g );
6
ответ дан ChrisD 5 April 2011 в 18:23
поделиться
Другие вопросы по тегам:

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