Sto creando un semplice token per le stringhe in Swift come farei in Java ... ma in realtà non funziona per me.Come tokenare stringa con virgole e delimitatore di riga
La fine di ogni riga nella mia origine dati delimitata da "^" e i dati sono separati da una virgola.
Ad esempio: "string 1, corda 2, corda 3, ^, stringa 1, corda 2, corda 3, ^"
Questo è quello che vorrei fare in Java ... (Voglio solo il prime due corde in ogni riga di dati)
String delimeter = "^";
StringTokenizer tokenizedString = new StringTokenizer(responseString,delimeter);
String [] stringArray = new String [tokenizedString.countTokens()];
StringTokenizer tokenizedAgain;
String str1;
String str2;
String token;
for(int i =0; i< stringArray.length; i ++)
{
token = tokenizedString.nextToken();
tokenizedAgain = new StringTokenizer(token, ",");
tokenizedAgain.nextToken();
str1 = tokenizedAgain.nextToken();
str2 = tokenizedAgain.nextToken();
}
Se qualcuno mi potrebbe punto nella giusta direzione, che sarebbe davvero utile.
Ho guardato questo: Swift: Split a String into an array
e questo: http://www.swift-studies.com/blog/2014/6/23/a-swift-tokenizer
ma non riesco davvero a trovare altre risorse sul String creazione di token a Swift. Grazie!
Hey grazie per la risposta! Ho provato il tuo codice, la logica dietro di esso è molto intuitiva ... non avrei mai pensato di creare un array 2D ... ma quando ottengo i valori dall'array 2D ... "println (token [1] [0 ]) "è Line 1..string 0 .. ma punta al primo delimitatore"^"... e l'array pensa che questa sia la prima voce nella nuova riga ... e stampa anche vuoto nella console. Idealmente mi piacerebbe "println (token [1] [0])" per stampare "string 1" (della riga 2) ma è vuoto nella console. Ma comunque ... Grazie ancora. Molto apprezzato!!! – stepheaw