Pracuję nad aplikacją J2ME.Logika podzielonego łańcucha w J2ME
Chcę podzielić następujący ciąg na "<br>"
& przecinkami:
3,toothpaste,2<br>4,toothbrush,3
Jak mogę to zrobić?
Pracuję nad aplikacją J2ME.Logika podzielonego łańcucha w J2ME
Chcę podzielić następujący ciąg na "<br>"
& przecinkami:
3,toothpaste,2<br>4,toothbrush,3
Jak mogę to zrobić?
private String[] split(String original,String separator) {
Vector nodes = new Vector();
// Parse nodes into vector
int index = original.indexOf(separator);
while(index >= 0) {
nodes.addElement(original.substring(0, index));
original = original.substring(index+separator.length());
index = original.indexOf(separator);
}
// Get the last node
nodes.addElement(original);
// Create split string array
String[] result = new String[ nodes.size() ];
if(nodes.size() > 0) {
for(int loop = 0; loop < nodes.size(); loop++)
{
result[loop] = (String)nodes.elementAt(loop);
System.out.println(result[loop]);
}
}
return result;
}
Powyższa metoda pozwoli Ci podzielić ciąg o przekazany separatora, podobnie jak J2EE za String.split(). Najpierw podziel łańcuch na znacznik podziału linii, a następnie zrób to przy każdym przesunięciu zwróconej tablicy dla przecinka ",". np.
String[] lines = this.split(myString,"<br>");
for(int i = 0; i < lines.length; i++)
{
String[] splitStr = this.split(lines[i],",");
System.out.println(splitStr[0] + " " + splitStr[1] + " " + splitStr[2]);
}
powinien brzmieć: ' // Pobierz ostatniego węzła if { \t nodes.addElement (original_element); ("" równa (original_element)!). } ' –
Dlaczego powróciłeś do mojej edycji? Występuje błąd - uruchamiam go za pomocą twojego kodu - jeśli ciąg ma postać '
private String[] split(String original, String separator, int count)
{
String[] result;
int index = original.indexOf(separator);
if(index >= 0)
result = split(original.substring(index + separator.length()), separator, count + 1);
else
{
result = new String[count + 1];
index = original.length();
}
result[count] = original.substring(0, index);
return result;
}
String[] lines = this.split(myString,"<br>",0);
przepraszam ale jest znacznik br pomiędzy tymi dwoma zapisów – Vikas
Poprawiłem formatowanie więc
jest oczywista. – Eddie
można po prostu użyć 'StringTokenizer' Class – Lucifer