я пытаюсь разбить строку с помощью 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+"";
Имейте в виду, что мое регулярное выражение и строка исходят из другого класса, и я вытаскиваю их, чтобы сделать разделение в другом классе.
БЛАГОДАРНОСТЬ