LINUX.ORG.RU

Сообщения Inedel

 

Разбить текст на абзацы

Здравствуйте.Мне нужно разбить произвольный текст на абзацы(по 4 предложения на абзац).Я нашёл что-то похожее, выполненное через sed: sed 's/\(\([^.]*.\)\{3\}[^.]*\)./\1\n/g' (Тут, конечно, не совсем то, что нужно, ибо в моём случае может быть не только точка но и другие знаки(?, !, ... и т.п)), но мне хотя бы с точкой разобраться не помешало бы.Так вот, в написанной выше команде текст разбивается на абзацы по 4 предложения, но при этом точка в конце каждого 4-го предложения исчезает, например:

Исходный текст: «sdasdasd, sad. sadasda d. sadadasd. asdad. psadad.»

Получившийся: «sdasdasd, sad. sadasda d. sadadasd. asdad (вот тут точка пропадает) psadad.» Т.е в команде выше 4-ая точка заменяется на новую строчку, написанную с нового абзаца.Подскажите, как переделать, чтобы точка оставалась(а не заменялась)?И, собственно, возможно ли как-то адекватно сделать, чтобы не только с точкой, но и с любым знаком конца предложения на абзацы разбивалось?

Спасибо.

 

Inedel
()

RSS подписка на новые темы