Perl: удаление остатка строки после обнаружения определенного символа - PullRequest
3 голосов
/ 08 апреля 2011

Я делаю некоторую очистку данных в файле.Итак, я читаю каждую строку, проверяю определенные условия и выполняю соответствующую операцию в файле.Одна из вещей, которые мне нужно сделать, это проверить наличие символа $ в строке.Если найдено, мне нужно удалить оставшуюся часть строки, включая $.Например, если строка

abc$hello-goodbye

, мне нужно получить

abc

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

Ответы [ 3 ]

10 голосов
/ 08 апреля 2011

Самый быстрый - это простое регулярное выражение:

$string =~ s/\$.*//;

, где

$string = 'abc$hello-goodbye';
1 голос
/ 08 апреля 2011

в рубине

>> "abc$def".split("$")[0]
=> "abc"
>>

Аналогично, используйте функцию split() из Perl, чтобы сделать это и получить первый элемент. См. perldoc -f split для получения дополнительной информации

1 голос
/ 08 апреля 2011

Вы можете использовать регулярное выражение или комбинацию index и substr.

Это не должно быть слишком сложно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...