powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / perl и замена букв и цифр в предложении
20 сообщений из 20, страница 1 из 1
perl и замена букв и цифр в предложении
    #39043599
evgen25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ. кто подскажет как в perl реализовать следующуу функцию. допустив есть строка с фамилией мамин-сибиряк или вильгельм де геннин. необходимо, создать функцию, что бы в этой строке все первые буквы менялись на заглавные. то есть на выходе получить Мамин-Сибиряк или Вильгельм Де Геннин.

и еще попутный вопрос. встречался с такой ситуцией когда народ, при написании слов использует цифры. например 0(цифра) -О(буква), 4(цифра) - Ч(буква), 3(цифра)-З(буква) и т.д. как реализовать функцию. что бы при обнаружении цифр в словах они автоматом менялись на нужные буквы?
...
Рейтинг: 0 / 0
perl и замена букв и цифр в предложении
    #39043695
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgen25,

по заглавным не сложно:

my $istr='my name is vasya';

$istr =~ s/(\W+|^)(\w+)/$1\u$2/g;

print $istr;

а вот по второй задачке тут надо табличку соответствия рисовать, как мне кажется.
...
Рейтинг: 0 / 0
perl и замена букв и цифр в предложении
    #39043704
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
даже так:

Код: perl
1.
$istr =~ s/\b(\w+)/\u$1/g;
...
Рейтинг: 0 / 0
perl и замена букв и цифр в предложении
    #39043747
evgen25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Q.Tarantino,

что то типа такого:
Код: sql
1.
$clean=~ s/0/О/g;

?

а за замену на заглавные буквы спасибо, не думал что всё так просто, меня двойные фамилии которые через дефис пишутся пугали
...
Рейтинг: 0 / 0
perl и замена букв и цифр в предложении
    #39043808
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgen25,

$str = "как-то в субботу вечером мамин-сибиряк пришёл к вильгельму де геннину."


как фамилии будем распознавать? По википедии?
...
Рейтинг: 0 / 0
perl и замена букв и цифр в предложении
    #39043860
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgen25Q.Tarantino,

что то типа такого:
Код: sql
1.
$clean=~ s/0/О/g;


?

а за замену на заглавные буквы спасибо, не думал что всё так просто, меня двойные фамилии которые через дефис пишутся пугали
не факт. массив надо использовать. скажи по секрету, зачем тебе perl если регулярные не куришь? :)
а по теме могу подумать, все равно на работе скукота.
да, и все проще - в выражении плюсик можно убрать :)
...
Рейтинг: 0 / 0
perl и замена букв и цифр в предложении
    #39043861
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
volodin661evgen25,

$str = "как-то в субботу вечером мамин-сибиряк пришёл к вильгельму де геннину."


как фамилии будем распознавать? По википедии?
тут скорее задача сделать во всех словах заглавные.
скажем есть база, есть фиелд с фио, их и корректируем.
так что не заморачивайся. там никто никуда не приходит :)
...
Рейтинг: 0 / 0
perl и замена букв и цифр в предложении
    #39043863
evgen25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Q.Tarantino,

ну фамилии это для красоты, скажем есть шаблон, в этот шаблон подставляются имена и фамилии из базы. в базе они все лежат строчными буквами. и вот ради красоты и надо что бы в именах и фамилиях первые буквы были заглавные.
а по поводу регулярных выражений, бывает под вечер ступор в голове возникает. и уже даже элементарные вещи в голове не укладываются. а хочется доделать, что бы спалось легче и крепче. Перл за то и люблю что при обработки текста он всемогущ.
...
Рейтинг: 0 / 0
perl и замена букв и цифр в предложении
    #39043864
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgen25Q.Tarantino,

ну фамилии это для красоты, скажем есть шаблон, в этот шаблон подставляются имена и фамилии из базы. в базе они все лежат строчными буквами. и вот ради красоты и надо что бы в именах и фамилиях первые буквы были заглавные.
а по поводу регулярных выражений, бывает под вечер ступор в голове возникает. и уже даже элементарные вещи в голове не укладываются. а хочется доделать, что бы спалось легче и крепче. Перл за то и люблю что при обработки текста он всемогущ.
как выяснил мой коллега - в гугле данных решений полно :)
хочешь стать гуру - научись гуглить!

p.s. первое решение не нагуглил, просто люблю перл и решил размять моск. давно не кодил.
...
Рейтинг: 0 / 0
perl и замена букв и цифр в предложении
    #39043949
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgen25,

если тебя так взволновала утеря красоты при написании фамилий с
маленькой буквы, думаю, есть смысл поработать над правописанием и в других случаях:

авторНарод, кто подскажет, как в perl реализовать следующую функцию. Допустим, есть строка с фамилией мамин-сибиряк или вильгельм де геннин. Необходимо, создать функцию, чтобы в этой строке все первые буквы менялись на заглавные. То есть, на выходе получить Мамин-Сибиряк или Вильгельм Де Геннин.

И ещё попутный вопрос. Встречался с такой ситуацией, когда народ, при написании слов использует цифры. Например 0(цифра) -О(буква), 4(цифра) - Ч(буква), 3(цифра)-З(буква) и т.д. Как реализовать функцию, чтобы при обнаружении цифр в словах они автоматом менялись на нужные буквы?
...
Рейтинг: 0 / 0
perl и замена букв и цифр в предложении
    #39043973
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgen25допустив есть строка с фамилией мамин-сибиряк или вильгельм де геннин. необходимо, создать функцию, что бы в этой строке все первые буквы менялись на заглавные. то есть на выходе получить Мамин-Сибиряк или Вильгельм Де Геннин.Заменить на компьютере редактора клавиатуру на новую, с исправно работающим Shift'ом. И обязать поправить всю ту галиматью, которую он успел настрочить.
...
Рейтинг: 0 / 0
perl и замена букв и цифр в предложении
    #39044061
evgen25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

И как таких умных то в детстве не украли?!
Поумничать то все горазды, вот по делу подсказать, единицы могут
...
Рейтинг: 0 / 0
perl и замена букв и цифр в предложении
    #39044077
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgen25,

Начать можно с чего-то такого
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
#!/usr/bin/perl -w
use strict;
use utf8;
binmode(STDOUT,':utf8');

my $txt_in = qq~мамин-сибиряк вильгельм де геннин о'генри thomas mann~;

my @w = split(/\s+/, $txt_in); # разделяем строку на слова
my $txt_out = '';

foreach my $i (@w) {
    $i =~ s/^(.)/ucfirst($1)/e;
    $txt_out .= " $i";
}

$txt_out =~ s/^\s*//; # убираем ведущий пробел
print "$txt_out\n";

Напечатает
Код: sql
1.
Мамин-сибиряк Вильгельм Де Геннин О'генри Thomas Mann



После по аналогии добавить ещё обработку всяких вариантов апострофов, дефисов, чего там ещё попадётся...
...
Рейтинг: 0 / 0
perl и замена букв и цифр в предложении
    #39044081
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgen25Поумничать то все гораздыВероятно, Вы впервые сталкиваетесь с нормализацией уже имеющегося текста. Когда изобретательность пишущих начинает поражать (цифры вместо букв, латиница вместо кириллицы, всевозможные знаки "копипастом из ворда") - вот тогда возникает желание оторвать руки пишущим. Или жестко контролировать текст на вводе.
...
Рейтинг: 0 / 0
perl и замена букв и цифр в предложении
    #39044283
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkleНачать можно с чего-то такого
чем твой вариант проще моего, в одну строку?
...
Рейтинг: 0 / 0
perl и замена букв и цифр в предложении
    #39044349
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Q.TarantinovkleНачать можно с чего-то такого
чем твой вариант проще моего, в одну строку?С чего Вы взяли, что мой вариант проще? Лично я этого не утверждал. Допилить до рабочего можно и то и другое.
...
Рейтинг: 0 / 0
perl и замена букв и цифр в предложении
    #39044352
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Q.Tarantinoа вот по второй задачке тут надо табличку соответствия рисовать, как мне кажется.Можно так попробовать.
Код: sql
1.
$str =~ tr/403/чоз/;
...
Рейтинг: 0 / 0
perl и замена букв и цифр в предложении
    #39052231
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkleQ.Tarantinoпропущено...

чем твой вариант проще моего, в одну строку?С чего Вы взяли, что мой вариант проще? Лично я этого не утверждал. Допилить до рабочего можно и то и другое.


вот и допили -сибиряка до рабочего с большой буквы.

в 20 строчек уложишься?

и вообще-то ТС просил функцию.
...
Рейтинг: 0 / 0
perl и замена букв и цифр в предложении
    #39052555
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
volodin661вот и допили -сибиряка до рабочего с большой буквы.
было поставлено условие - ВСЕ слова с большой буквы.
что и было реализовано.
что не так?
...
Рейтинг: 0 / 0
perl и замена букв и цифр в предложении
    #39053054
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Q.Tarantino,

как раз к Квентину претензий нет,
а к vkle есть,
который поумничал и выдал зачем-то 20 строчек
некорректного кода.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / perl и замена букв и цифр в предложении
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]