«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу эффективно заменить несколько подстроков в строке Java?

Как я могу эффективно заменить несколько подстроков в строке Java?

Опубликовано в 2025-03-23
Просматривать:973

How Can I Efficiently Replace Multiple Substrings in a Java String?

заменить несколько подстроков в строку эффективно в Java

, когда сталкивается с необходимостью заменить несколько подстроков в строке, это заманчиво Прибегайте к подходу грубой силы, чтобы многократно применять метод string.replace (). Однако это может быть неэффективным для больших строк или при работе с многочисленными строками. Регулярные выражения позволяют вам определять сложные шаблоны поиска и выполнять текстовые преобразования в одной операции. �t%"и" �verage%"со значениями, хранящимися на карте. Используя StringUtils из Apache Commons Lang, вы можете создать шаблон и совместный сопоставщик следующим образом:

map tokens = new Hashmap (); tokens.put ("cat", "garfield"); tokens.put («напиток», «кофе»); String template = "�t% действительно нуждается в некотором �Pragement%."; // Создать шаблон формата "%(cat | напиток)%" String patterstring = "%(" stringutils.join (tokens.keyset (), "|") ")%"; Паттерн шаблона = pattern.compile (patternstring); Matchter Matcher = pattern.matcher (Template);

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

StringBuffer SB = new StringBuffer (); while (matcher.find ()) { matcher.appendReplacement (sb, tokens.get (matchter.group (1))); } Matcher.appendtail (SB); System.out.println (sb.tostring ());

Преимущества обычных выражений

, как только регулярное выражение будет составлено, поиск входной строки обычно очень быстро Полем Кроме того, регулярные выражения обеспечивают гибкость для обработки сложных схем поиска, например, с участием скобок и кванторов. ]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3