ho una stringa:Come utilizzare una pila per analizzare una stringa
String stringContent="{\\*\\listtable{\\list{\\listlevel{\\leveltext}{\\levelNumber}}}}"
Come faccio a selezionare i valori di tutte le parentesi graffe che racchiudono uno per uno in ogni passaggio come questo:
"{\\levelNumber}"
"{\\leveltext}"
"{\\listlevel{\\leveltext}{\\levelNumber}}"
"{\\list{\\listlevel{\\leveltext}}}"
"{\\*\\listtable{\\list{\\listlevel{\\leveltext}}}}"
Così lontano ho fatto questo:
public class StringExtracter {
public String stringofObject(Section parentSectionObject, String stringContent) {
Stack stack=new Stack();
String returnString = "";
char arr[] = stringContent.toCharArray();
for(int i=0;i<=arr.length;i++){
while(arr[i]!='}'){
if(arr[i]=='{'){
stringContent=stringContent.substring(i+1);
returnString=stringContent;
System.out.println(stringContent);
braces=true;
Section sectionObject=new Section(parentSectionObject,stringContent);
stack.push(arr[i]);
}
}
return returnString;
}
Ma il problema è che non rileva il diritto }
come questo. Come dovrei fare questo?
uscita fin d'ora:
\*\listtable{\list{\listlevel{\leveltext}{\fefw}}}}
\list{\listlevel{\leveltext}{\fefw}}}}
\listlevel{\leveltext}{\fefw}}}}
\leveltext}{\fefw}}}}
\fefw}}}}
Non sono sicuro di ciò che si sta cercando di fare. Cosa è 'Section parentSectionObject'? Vuoi creare un albero o semplicemente stampare tutti gli elementi '{..}'? – Pshemo
@Pshemo Questo è l'osservatore di voi. Sì, sto creando una struttura ad albero per tutte le stringhe che sto estraendo. – Identity1
'" {\\ * \\ listtable {\\ list {\\ listlevel {\\ leveltext}}}} "" è in realtà il nodo principale. e le 'liste' seguono e poi' listLevel' – Identity1