Tôi đã không gonna nhận được đến cuối này vì vậy chúng tôi sẽ kết thúc thứ tư này tiếp theo. Gói slide này cả ở đây nhưng. Vì vậy, chuỗi. String là phức tạp khi nói đến lập chỉ mục. Bạn biết đấy, tạo ra chuỗi phụ và các công cụ như thế. Rất nhiều người là như thế, oh, tôi thậm chí không thể tìm ra cách để làm cho một chuỗi con của một chuỗi trong Swift. Thật complicated.But một khi bạn hiểu rằng dây được làm bằng ký tự Unicode và khi bạn nhận được một chuỗi con, bạn thực sự không muốn có một chuỗi các ký tự unicode.
Bạn muốn có một chuỗi các ký tự unicode được trên ranh giới glyph. Một glyph là cái gì bạn cảm nhận được là một nhân vật. Nhưng trong unicode, nó có thể là nhiều nhân vật làm lên một glyph. Ví dụ, một dấu nhấn. Vì vậy, bạn biết, có rất nhiều ngôn ngữ châu Âu, có dấu, không sao, có thể bạn đã biết, trong tiếng Pháp, bạn có giọng aigu, bên phải, mà là về phía trước đi dấu gạch chéo đầu. Vâng, đó có thể là hai ký tự unicode, E và các nhân vật nói giọng.
Vì vậy, hai nhân vật làm những gì bạn cảm nhận được một glyph. Vì vậy, bạn không thể chỉ mục vào chuỗi này mà mảng Isan của của characters.That gì một chuỗi là một chuỗi là mảng trong bản chất, nội bộ bộ sưu tập hoặc tập hợp các ký tự unicode. Bạn có thể không thực sự chỉ mục bằng int hoặc bạn có thể là nửa chừng aigu e giọng, và bạn đang nhận được bạn đã biết, một trong hai ac, giọng aigu hoặc e nhưng không phải nhân vật.
Vì vậy, thay vì chuỗi được lập chỉ mục của loại này khác gọi string.index. Đuợc? Bây giờ làm thế nào để bạn có được một string.index? Được rồi, tốt, có. Nó nói ở đây. Đuợc? Vì vậy, bạn sẽ có được một sting.index bằng cách nhận các chỉ số bắt đầu của chuỗi. Cung cấp cho bạn string.index điểm đó để ký tự đầu tiên của chuỗi. Và sau đó bạn tiến về phía trước, tuy nhiên nhiều lần bạn muốn đi. Vì vậy, nói cách khác, bạn phải xem xét thông qua các nhân vật để nó sẽ nhảy qua e giọng aigu, cả hai nhân vật kế tiếp, bạn thấy sao?
Vì vậy, bạn làm điều đó với chức năng này, nó không phải là một phương pháp trong chuỗi, nó thực sự chỉ một chức năng, một chức năng toàn cầu được gọi trước. Và bạn cho nó các chỉ số, được không, và khi bạn cho nó bao nhiêu lần bạn muốn nó di chuyển về phía trước. Và nó sẽ cho bạn trở lại một chỉ số mới. Vì vậy, đây là một ví dụ. Tôi có một chuỗi mà nói xin chào, được không? Tôi muốn có được chỉ số của L, L. đầu tiên rồi? Vì vậy, tôi nói, hãy để tạm ứng bằng chỉ số, chỉ số bắt đầu của chuỗi đó, đi về phía trước hai.
Okay? Vì vậy, bây giờ nó chỉ tay vào l. Nó đã đi về phía trước một đến e, bây giờ về phía trước một đến l. Và một lần nữa, nếu điều đó, nó là e giọng aigu, nó đã có thể đi về phía trước bốn ký tự Unicode, nhưng chỉ có ba đến các glyph thứ ba, khi bạn cảm nhận nó, được không? Vì vậy, bây giờ tôi có một con trỏ đến đó L, tôi có thể sử dụng Ví dụ, một chuỗi chức năng tốt đẹp được gọi splice.So nối giống như các mối nối trong mảng.
Nó sẽ ghép một chuỗi vào giữa một string.Okay? Và tôi sẽ có một mối nối tại chỉ số đó, và đó là sẽ làm cho nó được heabcllo. Splice các abc thẳng vào giữa đó. Đuợc? Vì vậy, startIndex này là sự kỳ diệu đằng sau làm cho công việc đó. Ngoài ra nếu tôi nói, nếu tôi có hai biến cục bộ boong sao, Index, và endIndex, mà tôi đã thực hiện bằng cách lấy trước của startIndex bởi một đến sáu.
Vì vậy, đây là có được, tôi muốn nó được từ chỉ số một để chỉ số sáu, sau đó tôi có thể có được một chuỗi con và tôi nhận được một chuỗi con và trong chuỗi chính xác giống như một mảng, dấu ngoặc vuông. String, dấu ngoặc vuông. Nhưng bên trong dấu ngoặc vuông đi sắp xếp. Và phạm vi, dấu chấm, dấu chấm, dấu chấm gì đều có thể có một string.index bên trái và một string.index bên phải, không ints.
Okay? Vì vậy, ở đây tôi đã string.index. Bằng cách làm trước đây cho mắt trái và một String.Index bên phải, cho đến khi các chuỗi con sẽ eabcl. Vì tôi đã đi khỏi chỉ một, mà là nhân vật thứ hai, chỉ số zero là lần đầu tiên, hoặc, chỉ số sáu, không bao gồm chỉ số sáu, được không? Mọi người đều hiểu String.Index bây giờ? Đó là tất cả về trước, 'kay? Các chức năng tạm ứng là chìa khóa để hiểu làm thế nào để xâu chuỗi.
Và, có rất nhiều các khác, khi bạn hiểu được điều này, có những thứ ấy như phạm vi của chuỗi. Hãy nhớ rằng chúng được sử dụng hàng loạt các chuỗi trong máy tính, và nó, tôi đã nói với bạn nó trở về con số không nếu nó không thể tìm thấy nó? Vâng, những gì hiện nó trở lại nếu nó có thể tìm thấy nó? Vâng, nó sẽ trả về một dãy các String.Index. Trên thực tế, nó sẽ trả về một đun tùy chọn của String.Index. Đuợc? Đó là làm thế nào, nếu bạn sử dụng nó để chuyển nhượng của bạn, đó là cách bạn sử dụng nó. Bạn sử dụng các tính chất bắt buộc của nó, nhưng bây giờ thậm chí bạn có thể sử dụng tính chất Phạm vi của nó.
Vì vậy, ví dụ, nếu chúng ta muốn lấy lại một phần số nguyên của một chuỗi mà đã có một số. Vì vậy, tôi có, chúng ta hãy nói, 56,25 như là một chuỗi, tôi muốn có được một phần số nguyên. Tôi chỉ có thể nói rằng tôi tìm dấu thập phân. Kay? Và điều đó sẽ trả về một loạt nếu, nếu nó có thể tìm thấy nó. Nếu có một điểm thập phân ở đó nó sẽ trở về phạm vi đó. Và tôi sẽ lấy một phần từ các num.startIndex, bạn thấy num là số, nó startIndex tất cả các cách đến nơi thập phân là, không bao gồm các chữ số thập phân, được không?
Bây giờ tôi đã có chuỗi tiểu là toàn phần. Có phải chúng ta mát với điều đó
đang được dịch, vui lòng đợi..