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

Как разделить строки с сохраненными разделителями с помощью Java Lookahead и Lookbehind?

Опубликовано 8 ноября 2024 г.
Просматривать:486

How to Split Strings with Delimiters Preserved Using Java Lookahead and Lookbehind?

Разделение строк с сохраненными разделителями

При работе с многострочными строками, разделенными набором уникальных разделителей, разделение строки может оказаться сложной задачей сохраняя при этом сами разделители. Стандартный метод String.split разделяет строку только на основе указанного разделителя, отбрасывая символы разделителя. предоставляет решение, используя просмотр вперед и назад, которые представляют собой функции регулярных выражений, которые позволяют сопоставлять и захватывать символы, не включая их в окончательный результат. result.

Вот пример использования просмотра вперед и назад:

String input = "(Text1)(DelimiterA)(Text2)(DelimiterC)(Text3)(DelimiterB)(Text4) "; String[] SplitWithDelimiter = input.split("((?

Шаблон:

String input = "(Text1)(DelimiterA)(Text2)(DelimiterC)(Text3)(DelimiterB)(Text4)";

String[] splitWithDelimiter = input.split("((?(?(?=;) соответствует пустому символу непосредственно перед точкой с запятой (просмотр вперед).((?
  • Вывод:
  • [Текст1, ;, РазделительA, ;, Текст2, ;, РазделительC, ;, Текст3, ;, DelimiterB, ;, Text4]

    Этот результат сохраняет разделители вместе с текстом, удовлетворяя требованию сохранения целостности разделителей при разделении строки.

    Улучшение читаемости
    [Text1, ;, DelimiterA, ;, Text2, ;, DelimiterC, ;, Text3, ;, DelimiterB, ;, Text4]

    Регулярные выражения иногда могут быть трудными для чтения и понимания. Чтобы улучшить читаемость, вы можете создать переменную с описательным именем, представляющим шаблон регулярного выражения. Например:

    static Final String With_DELIMITER = "((?

    Используя заполнители и Java-формат String.format, вы можете сделать регулярное выражение более интуитивным и простым для интерпретации.

  • Заявление о выпуске Эта статья воспроизведена: 1729746892 Если есть какие -либо нарушения, пожалуйста, свяжитесь с [email protected], чтобы удалить его.
    Последний учебник Более>

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

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

    Copyright© 2022 湘ICP备2022001581号-3