Tôi đang tạo một Trình mã hóa chuỗi đơn giản trong Swift giống như trong Java ... nhưng nó thực sự không hoạt động đối với tôi.Cách mã hóa chuỗi bằng dấu phẩy và dấu phân tách dòng
Kết thúc mỗi dòng trong nguồn dữ liệu của tôi được phân tách bằng dấu "^" và dữ liệu được phân tách bằng dấu phẩy.
Ví dụ: "chuỗi 1, chuỗi 2, chuỗi 3, ^, chuỗi 1, chuỗi 2, chuỗi 3, ^"
Đây là những gì tôi sẽ làm trong Java ... (Tôi chỉ muốn hai chuỗi đầu tiên trong mỗi dòng dữ liệu)
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();
}
Nếu ai đó có thể chỉ cho tôi đúng hướng thực sự hữu ích.
tôi đã xem xét điều này: Swift: Split a String into an array
và điều này: http://www.swift-studies.com/blog/2014/6/23/a-swift-tokenizer
nhưng tôi thực sự không thể tìm thấy các nguồn lực khác trên chuỗi tokenizing trong Swift. Cảm ơn!
Hey cảm ơn cho câu trả lời! Tôi đã thử mã của bạn logic đằng sau nó là rất sâu sắc ... Tôi sẽ không bao giờ nghĩ để làm cho một mảng 2D ... nhưng khi tôi nhận được các giá trị từ mảng 2D ... "println (mã thông báo [1] [0 ]) "là Line 1..string 0 .. nhưng trỏ đến dấu phân tách"^"đầu tiên ... và mảng cho rằng đây là mục nhập đầu tiên trong dòng mới ... và nó cũng in trống trong bảng điều khiển. Lý tưởng nhất là tôi muốn "println (mã thông báo [1] [0])" để in "chuỗi 1" (của dòng 2) nhưng nó trống trong bảng điều khiển. Nhưng dù sao ... Cảm ơn một lần nữa. Nhiều đánh giá cao!!! – stepheaw