powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Завернуть каждое слово в HTML-тэг со своим id(номер слова в сообщении)
5 сообщений из 5, страница 1 из 1
Завернуть каждое слово в HTML-тэг со своим id(номер слова в сообщении)
    #38576128
way2bariton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Просто на поразмышлять. Пишу одно приложение по обработке текстов. Не суть важно что за приложение, впереди предстоит задача отправлять на сервер текст, в котором нужно обработать каждое слово следующим образом: завернуть его в html-тэг, где атрибут id будет в том числе содержать порядковый номер слова в тексте. Сообщения могут быть по размеру, да такие же как здесь. Сдается мне что прямым перебором случится беда с производительностью...Если мои опасения напрасны, то поправьте меня, но что-то мне кажется что прямой перебор сообщения состоящего из 2-х - 3-х тысяч слов будет работать медленно.
...
Рейтинг: 0 / 0
Завернуть каждое слово в HTML-тэг со своим id(номер слова в сообщении)
    #38576216
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опасения напрасны. 2-3 тысячи слов, это очень мало. В любом случае, чтобы думать об оптимизации, информации не достаточно.
...
Рейтинг: 0 / 0
Завернуть каждое слово в HTML-тэг со своим id(номер слова в сообщении)
    #38576262
way2bariton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonidv, спасибо за информацию!
...
Рейтинг: 0 / 0
Завернуть каждое слово в HTML-тэг со своим id(номер слова в сообщении)
    #38577529
way2bariton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А подскажите кто-нибудь по реализации

Собственно вот так строка делится знаками, вроде почти то, что нужно, на выходе получаем список слов:

Код: java
1.
2.
3.
val text = "Hello-Scala World!"
val res = text.split("[^a-zA-Z0-9]").toList
println(res)//output: List(Hello, Scala, World)



Таким регулярным выражением мы дели строку используя в качестве разделителя слова:

Код: java
1.
2.
3.
val text = "Hello-Scala World!"
val res = text.split("\\b[a-zA-Z0-9]+\\b").toList
println(res)//output: List(, -,  , !)



А вот как скомпоновать эти два регулярных выражения я ума не приложу, после двух-часовых экспериментов понял что сам без подсказки не осилю...
...
Рейтинг: 0 / 0
Завернуть каждое слово в HTML-тэг со своим id(номер слова в сообщении)
    #38577630
way2bariton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кажется то что нужно:

Код: java
1.
2.
3.
4.
5.
6.
7.
    val text =
      """Hello from Scala - regex  world!
        |Привет из мира регулярных выражений - Скала!""".stripMargin
    val pattern = "[^a-zA-Z0-9|а-яА-Я0-9]|\\b[a-zA-Z0-9|а-яА-Я0-9]+\\b".r
    pattern.findAllIn(text).matchData foreach {
      m => println("'" + m.group(0) + "'")
    }
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Завернуть каждое слово в HTML-тэг со своим id(номер слова в сообщении)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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