Squeak.ru - шаблоны программирования

split в java добавляет пустое пространство в массив строк

я пытаюсь разбить строку с помощью REGEX. Проблема в том, что при разделении он добавляет пустое пространство в мой массив строк.

  public static String[] line;

  line=this.classMetodos.split(meth.regexMethHead);

meth.regexMethHead является регулярным выражением, с которым я хочу разделить.

данный вывод является следующим:

Метод Контенидо [0]:

Методы Contenido [1]: {смеется;}

Методы Contenido [2]: {смеется;}}

желаемый результат:

Методы Contenido [0]: {смеется;}

Методы Contenido [1]: {смеется;}}

Используется регулярное выражение

Используется регулярное выражение:

 public static String regexAccess = "(public|private|\\s*)";

    public static String regexStatic = "(static|\\s*)";

    public static String regexReturnType = "(String|double|void)";

    public static String regexMethName = "([a-z]|[A-Z])([a-z]|[A-Z]|[0-9])*";

    public static String regexVariableName = "([a-z]|[A-Z])([a-z]|[A-Z]|[0-9])*";

    public static String regexString = "\"([a-z]|[A-Z]|[0-9])*\"";

    public static String regexArgs="(\\(\\)|\\(("+regexReturnType+"\\s*"+regexVariableName+")\\))";

    public static String regexMethContent="\\{(.*|\\n*|\\t*)*\\}";

   //complete regular expression 
    public static String regexMethHead = regexAccess +
            "\\s*"+ 
            regexStatic+
            "\\s*"+
            regexReturnType+
            "\\s*"+
            regexMethName+
            "\\s*"+
            regexArgs;

Строка ввода

public static String meth= "public static void jenny(String lolito){\n\t lol;\n\n\t}";
    public static String meth2= " public void Lolamer(String jeny){\n\t lol;\n\n\t}";
    public static String variables ="static String e =\"lol\";";
    public static String pseudoClass="public class torito{"+"\n"+variables+"\n"+
            meth+"\n"+meth2+"}";
    public static String regexClassName = "([a-z]|[A-Z])([a-z]|[A-Z]|[0-9])*";
    public static String regexClassContent="\\{(.*|\\n*|\\t*)*\\}";
    public static String regexCLass="^(public|private|\\s*)\\s*class\\s+"+
            regexClassName+""+
            regexClassContent+"";

Имейте в виду, что мое регулярное выражение и строка исходят из другого класса, и я вытаскиваю их, чтобы сделать разделение в другом классе.

БЛАГОДАРНОСТЬ


  • Укажите входную строку и используемое регулярное выражение. 05.12.2014
  • только что отредактировал сообщение с использованием входной строки и регулярного выражения! помощь!! 05.12.2014
  • Позвольте представить вам моего друга ANTLR. 05.12.2014
  • Благодарность!! буду читать об этом!! 05.12.2014

Ответы:


1

Я понял, что когда вы хотите разделить, если выражение, которое вы хотите разделить, начинается с некоторого значения в REGEX, оно предполагает, что там что-то есть (до того, как регулярное выражение будет использоваться для разделения), поэтому оно сохраняло пустой пробел в начале.

04.12.2014
Новые материалы

Угловая структура архитектуры
Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

«Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

Создайте API с помощью Python FastAPI
Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

Веселье с прокси-сервером JavaScript
Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...