2015-09-09 4 views
0

Могу ли я заставить некоторые строки в тексте перейти к новой строке, если они последние в строке?Javascript - заставить слова в тексте перейти к новой строке, если теги последние в строке

Например, у меня есть блок текста:

Sed ut perspiciatis unde 
omnis iste sit natus error sit 
accusantium doloremque 

И shoudl выглядеть следующим образом:

Sed ut perspiciatis unde 
omnis iste sit natus error 
sit accusantium doloremque 

Обратите внимание, что только «сидеть», что было последнее слово в строке была затронута.

+0

Я не очень понимаю вашу проблему , В Html текст заполнит весь контейнер, если вы не используете разрывы строк. Он будет делать то, что вы ожидаете. Если вы хотите сделать это вручную, вам нужно измерить ширину каждого слова в тексте, разделенное пробелами. Если вы используете шрифт с фиксированной шириной, это проще, иначе вам нужно знать ширину каждого символа. –

+0

Потому что я хочу иметь новые строки только для определенных слов, например, «сидеть» в примере. И только если последнее слово в очереди. –

ответ

0
sit\s*\n 

Regular expression visualization

Debuggex Demo

Следующий код заменит все "сидят" слов в конце строки:

var newString = yourString.replace(new RegExp("sit\\s*\\n","g"), "\nsit "); 
+0

Если вы хотите заменить несколько слов одновременно, вы можете использовать следующее: .replace (новый RegExp ("(sit | asd | qwe) \\ s * \\ n", "g"), "\ n $ 1 ") –

+0

К сожалению, он не находит соответствия, когда я использую его в js-коде. –

+0

Вы устанавливаете разрывы строк в необработанном тексте или хотите, чтобы браузер сделал это автоматически? Этот код будет работать только в первом случае –

Смежные вопросы