LINUX.ORG.RU

regexp.Replace


0

1

Сижу и пытаюсь первый раз в жизни применить регулярные выражения...

Цель такая: Из строки в которой только цифры и знак запятой получить оригинал , а если есть любой другой символ хоть один, то получить вместо строки символ '0'. Пока что только до [^\d]+ дошел, но это не совсем то

★★★★★

Последнее исправление: Loki13 (всего исправлений: 1)

>Из строки в которой только цифры и знак запятой получить оригинал , а если есть любой другой символ хоть один, то получить вместо строки символ '0'. Пока что только до [^\d]+ дошел, но это не совсем то

sed '/[^0-9,]/c0'

drBatty ★★
()
Ответ на: комментарий от sdio

Да я вроде уже начал понимать, что это не replace'ом делать надо.

Тогда другой вопрос .. а как можно к [^0-9,] еще добавить, что при пустой строке «» тоже 0 должен быть ?

Loki13 ★★★★★
() автор топика
Ответ на: комментарий от Loki13

Можно конечно отдельную проверку написать, но хотелось бы как-то элегантно

Loki13 ★★★★★
() автор топика
Ответ на: комментарий от drBatty

Всем спасибо! Очень помогло.

Loki13 ★★★★★
() автор топика
$_ = 0 unless /^[\d,]+$/;

;)

arsi ★★★★★
()

что за язык? жаба? если да, то...

if (!str.matches("^[\\d,]+$"))
    str = "0";
arsi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.