如何使用逗号和行分隔符标记字符串
How to Tokenize String with Commas and Line Delimiter
我正在 Swift 中制作一个简单的 String Tokenizer,就像我在 Java 中那样......但它真的不适合我。
我的数据源中每行的结尾用“^”分隔,数据用逗号分隔。
例如:"string 1,string 2,string 3,^,string 1,string 2,string 3,^"
这就是我在 Java 中要做的...(我只想要每行数据中的前两个字符串)
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();
}
如果有人能为我指出正确的方向,那将非常有帮助。
我看过这个:Swift: Split a String into an array
还有这个:http://www.swift-studies.com/blog/2014/6/23/a-swift-tokenizer
但我在 Swift 中找不到关于字符串标记化的其他资源。谢谢!
var delimiter = "^"
var tokenDelimiter = ","
var newstr = "string 1, string 2, string 3, ^, string 1, string 2, string 3,^"
var line = newstr.componentsSeparatedByString(delimiter) // splits into lines
let nl = line.count
var tokens = [[String]]() // declares a 2d string array
for i in 0 ..< nl {
let x = line[i].componentsSeparatedByString(tokenDelimiter) // splits into tokens
tokens.append(x)
}
println(tokens[0][0])
这扩展了 Syed 的 componentsSeperatedByString 答案,但使用 Swift 的映射来创建请求的 Nx2 矩阵。
let tokenizedString = "string 1, string 2, string 3, ^, string a, string b, string c, ^"
let lines = tokenizedString.componentsSeparatedByString("^, ")
let tokens = lines.map {
(var line) -> [String] in
let token = line.componentsSeparatedByString(", ")
return [token[0], token[1]]
}
println(tokens)
我正在 Swift 中制作一个简单的 String Tokenizer,就像我在 Java 中那样......但它真的不适合我。
我的数据源中每行的结尾用“^”分隔,数据用逗号分隔。
例如:"string 1,string 2,string 3,^,string 1,string 2,string 3,^"
这就是我在 Java 中要做的...(我只想要每行数据中的前两个字符串)
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();
}
如果有人能为我指出正确的方向,那将非常有帮助。
我看过这个:Swift: Split a String into an array
还有这个:http://www.swift-studies.com/blog/2014/6/23/a-swift-tokenizer
但我在 Swift 中找不到关于字符串标记化的其他资源。谢谢!
var delimiter = "^"
var tokenDelimiter = ","
var newstr = "string 1, string 2, string 3, ^, string 1, string 2, string 3,^"
var line = newstr.componentsSeparatedByString(delimiter) // splits into lines
let nl = line.count
var tokens = [[String]]() // declares a 2d string array
for i in 0 ..< nl {
let x = line[i].componentsSeparatedByString(tokenDelimiter) // splits into tokens
tokens.append(x)
}
println(tokens[0][0])
这扩展了 Syed 的 componentsSeperatedByString 答案,但使用 Swift 的映射来创建请求的 Nx2 矩阵。
let tokenizedString = "string 1, string 2, string 3, ^, string a, string b, string c, ^"
let lines = tokenizedString.componentsSeparatedByString("^, ")
let tokens = lines.map {
(var line) -> [String] in
let token = line.componentsSeparatedByString(", ")
return [token[0], token[1]]
}
println(tokens)