Chuỗi ký tự javascript
Chuỗi là một chuỗi các ký tự, chẳng hạn như Show
Các loại Mặc dù có cú pháp đơn giản như vậy, nhưng kiểu Ghi chú Loại Để biết thêm thông tin về cách sử dụng Chuỗi ký tựBạn có thể bao gồm các giá trị Sử dụng một chuỗi ký tự làm giá trị ban đầu cho một hằng số hoặc biến
Lưu ý rằng Swift suy ra một loại Chuỗi chữ nhiều dòngNếu bạn cần một chuỗi kéo dài nhiều dòng, hãy sử dụng chuỗi ký tự nhiều dòng—một chuỗi ký tự được bao quanh bởi ba dấu ngoặc kép
Một chuỗi ký tự nhiều dòng bao gồm tất cả các dòng nằm giữa dấu ngoặc kép mở và đóng của nó. Chuỗi bắt đầu ở dòng đầu tiên sau dấu ngoặc kép mở (_______2_______0) và kết thúc ở dòng trước dấu ngoặc kép đóng, nghĩa là không có chuỗi nào bên dưới bắt đầu hoặc kết thúc bằng dấu ngắt dòng
Khi mã nguồn của bạn bao gồm một dấu ngắt dòng bên trong một chuỗi ký tự nhiều dòng, thì dấu ngắt dòng đó cũng xuất hiện trong giá trị của chuỗi. Nếu bạn muốn sử dụng ngắt dòng để làm cho mã nguồn của mình dễ đọc hơn, nhưng bạn không muốn ngắt dòng là một phần giá trị của chuỗi, hãy viết dấu gạch chéo ngược (
Để tạo một chuỗi ký tự nhiều dòng bắt đầu hoặc kết thúc bằng nguồn cấp dữ liệu, hãy viết một dòng trống làm dòng đầu tiên hoặc dòng cuối cùng. Ví dụ
Một chuỗi nhiều dòng có thể được thụt vào để khớp với mã xung quanh. Khoảng trắng trước dấu ngoặc kép đóng (_______2_______0) cho Swift biết khoảng trắng cần bỏ qua trước tất cả các dòng khác. Tuy nhiên, nếu bạn viết khoảng trắng ở đầu dòng ngoài những gì ở trước dấu ngoặc kép đóng, thì khoảng trắng đó được bao gồm Trong ví dụ trên, mặc dù toàn bộ chuỗi ký tự nhiều dòng được thụt vào, dòng đầu tiên và dòng cuối cùng trong chuỗi không bắt đầu bằng bất kỳ khoảng trắng nào. Dòng ở giữa có nhiều thụt đầu dòng hơn so với dấu ngoặc kép đóng, do đó, nó bắt đầu với khoảng cách thụt lề thêm bốn khoảng trắng đó Các ký tự đặc biệt trong chuỗi ký tựChuỗi ký tự có thể bao gồm các ký tự đặc biệt sau
Đoạn mã dưới đây cho thấy bốn ví dụ về các ký tự đặc biệt này. Hằng số
Bởi vì các ký tự chuỗi nhiều dòng sử dụng ba dấu ngoặc kép thay vì chỉ một, bạn có thể bao gồm một dấu ngoặc kép (
Dấu phân cách chuỗi mở rộngBạn có thể đặt một chuỗi ký tự bên trong các dấu phân cách mở rộng để bao gồm các ký tự đặc biệt trong một chuỗi mà không cần gọi hiệu ứng của chúng. Bạn đặt chuỗi của mình trong dấu ngoặc kép (_______1_______7) và bao quanh đó bằng các dấu số ( Nếu bạn cần các hiệu ứng đặc biệt của một ký tự trong một chuỗi ký tự, hãy khớp số ký hiệu số trong chuỗi theo sau ký tự thoát ( Các chuỗi ký tự được tạo bằng cách sử dụng các dấu phân cách mở rộng cũng có thể là các chuỗi ký tự nhiều dòng. Bạn có thể sử dụng các dấu phân cách mở rộng để bao gồm văn bản
Khởi tạo một chuỗi rỗngĐể tạo một giá trị
Tìm hiểu xem giá trị
Khả năng thay đổi chuỗiBạn cho biết liệu một
Ghi chú Cách tiếp cận này khác với biến đổi chuỗi trong Objective-C và Cocoa, nơi bạn chọn giữa hai lớp ( Chuỗi là các loại giá trịLoại Hành vi Đằng sau hậu trường, trình biên dịch của Swift tối ưu hóa việc sử dụng chuỗi sao cho việc sao chép thực tế chỉ diễn ra khi thực sự cần thiết. Điều này có nghĩa là bạn luôn có được hiệu suất tuyệt vời khi làm việc với các chuỗi dưới dạng các loại giá trị Làm việc với nhân vậtBạn có thể truy cập các giá trị
Vòng lặp Ngoài ra, bạn có thể tạo một biến hoặc hằng số
Các giá trị
Nối chuỗi và ký tựCác giá trị
Bạn cũng có thể nối thêm giá trị
Bạn có thể thêm một giá trị
Ghi chú Bạn không thể thêm một biến Nếu bạn đang sử dụng các ký tự chuỗi nhiều dòng để xây dựng các dòng của một chuỗi dài hơn, bạn muốn mọi dòng trong chuỗi kết thúc bằng dấu ngắt dòng, bao gồm cả dòng cuối cùng. Ví dụ
Trong đoạn mã trên, nối Nội suy chuỗiNội suy chuỗi là một cách để xây dựng một giá trị
Trong ví dụ trên, giá trị của Giá trị của Bạn có thể sử dụng các dấu phân cách chuỗi mở rộng để tạo các chuỗi chứa các ký tự mà nếu không sẽ được coi là phép nội suy chuỗi. Ví dụ
Để sử dụng phép nội suy chuỗi bên trong một chuỗi sử dụng dấu phân cách mở rộng, hãy so khớp số ký hiệu số sau dấu gạch chéo ngược với số ký hiệu số ở đầu và cuối chuỗi. Ví dụ
Ghi chú Các biểu thức bạn viết bên trong dấu ngoặc đơn trong một chuỗi nội suy không được chứa dấu gạch chéo ngược không thoát (_______2_______1), dấu xuống dòng hoặc xuống dòng. Tuy nhiên, chúng có thể chứa các chuỗi ký tự khác bảng chữ cáiUnicode là một tiêu chuẩn quốc tế để mã hóa, biểu diễn và xử lý văn bản trong các hệ thống chữ viết khác nhau. Nó cho phép bạn đại diện cho hầu hết mọi ký tự từ bất kỳ ngôn ngữ nào ở dạng chuẩn hóa, đồng thời đọc và viết các ký tự đó đến và từ một nguồn bên ngoài chẳng hạn như tệp văn bản hoặc trang web. Các loại Giá trị vô hướng UnicodeĐằng sau hậu trường, loại Lưu ý rằng không phải tất cả các giá trị vô hướng Unicode 21 bit đều được gán cho một ký tự—một số giá trị vô hướng được dành riêng cho việc gán trong tương lai hoặc để sử dụng trong mã hóa UTF-16. Các giá trị vô hướng đã được gán cho một ký tự thường cũng có tên, chẳng hạn như Cụm Grapheme mở rộngMỗi phiên bản của loại Đây là một ví dụ. Chữ cái Trong cả hai trường hợp, chữ cái
Các cụm biểu đồ mở rộng là một cách linh hoạt để biểu diễn nhiều ký tự tập lệnh phức tạp dưới dạng một giá trị
Các cụm biểu đồ mở rộng cho phép các đại lượng vô hướng cho các dấu kèm theo (chẳng hạn như
Có thể kết hợp các đại lượng vô hướng Unicode cho các ký hiệu chỉ thị khu vực theo cặp để tạo thành một giá trị
Đếm ký tựĐể truy xuất số lượng các giá trị
Lưu ý rằng việc Swift sử dụng các cụm biểu đồ mở rộng cho các giá trị Ví dụ: nếu bạn khởi tạo một chuỗi mới bằng từ có bốn ký tự
Ghi chú Các cụm grapheme mở rộng có thể bao gồm nhiều vô hướng Unicode. Điều này có nghĩa là các ký tự khác nhau—và các cách thể hiện khác nhau của cùng một ký tự—có thể yêu cầu dung lượng bộ nhớ khác nhau để lưu trữ. Do đó, mỗi ký tự trong Swift không chiếm cùng một lượng bộ nhớ trong biểu diễn của chuỗi. Do đó, không thể tính số lượng ký tự trong một chuỗi nếu không lặp qua chuỗi để xác định ranh giới cụm biểu đồ mở rộng của nó. Nếu bạn đang làm việc với các giá trị chuỗi đặc biệt dài, hãy lưu ý rằng thuộc tính Số ký tự được trả về bởi thuộc tính Truy cập và sửa đổi một chuỗiBạn truy cập và sửa đổi một chuỗi thông qua các phương thức và thuộc tính của nó hoặc bằng cách sử dụng cú pháp chỉ số dưới Chỉ số chuỗiMỗi giá trị Như đã đề cập ở trên, các ký tự khác nhau có thể yêu cầu dung lượng bộ nhớ khác nhau để lưu trữ, vì vậy, để xác định Sử dụng thuộc tính Bạn truy cập các chỉ số trước và sau một chỉ số nhất định bằng cách sử dụng phương pháp Bạn có thể sử dụng cú pháp chỉ số dưới để truy cập vào
Cố gắng truy cập một chỉ mục nằm ngoài phạm vi của chuỗi hoặc một
Sử dụng thuộc tính
Ghi chú Bạn có thể sử dụng các thuộc tính Chèn và gỡ bỏĐể chèn một ký tự vào một chuỗi tại một chỉ mục đã chỉ định, hãy sử dụng phương thức
Để xóa một ký tự đơn khỏi chuỗi tại một chỉ mục đã chỉ định, hãy sử dụng phương thức
Ghi chú Bạn có thể sử dụng các phương pháp chuỗi conKhi bạn lấy một chuỗi con từ một chuỗi—ví dụ: sử dụng chỉ số dưới hoặc một phương thức như
Giống như các chuỗi, mỗi chuỗi con có một vùng bộ nhớ nơi các ký tự tạo nên chuỗi con được lưu trữ. Sự khác biệt giữa chuỗi và chuỗi con là, để tối ưu hóa hiệu suất, chuỗi con có thể sử dụng lại một phần bộ nhớ được dùng để lưu trữ chuỗi gốc hoặc một phần bộ nhớ được sử dụng để lưu trữ một chuỗi con khác. (Các chuỗi có cách tối ưu hóa tương tự nhau, nhưng nếu hai chuỗi dùng chung bộ nhớ thì chúng bằng nhau. ) Tối ưu hóa hiệu suất này có nghĩa là bạn không phải trả chi phí hiệu suất sao chép bộ nhớ cho đến khi bạn sửa đổi chuỗi hoặc chuỗi con. Như đã đề cập ở trên, các chuỗi con không phù hợp để lưu trữ lâu dài—vì chúng sử dụng lại bộ nhớ của chuỗi gốc, toàn bộ chuỗi gốc phải được lưu trong bộ nhớ miễn là bất kỳ chuỗi con nào của nó đang được sử dụng Trong ví dụ trên, Ghi chú Cả So sánh chuỗiSwift cung cấp ba cách để so sánh các giá trị văn bản. đẳng thức chuỗi và ký tự, đẳng thức tiền tố và đẳng thức hậu tố Bình đẳng chuỗi và ký tựSự bằng nhau của chuỗi và ký tự được kiểm tra bằng toán tử “bằng” (
Hai giá trị Ví dụ:
Ngược lại,
Ghi chú So sánh chuỗi và ký tự trong Swift không nhạy cảm với ngôn ngữ Bình đẳng tiền tố và hậu tốĐể kiểm tra xem một chuỗi có tiền tố hoặc hậu tố chuỗi cụ thể hay không, hãy gọi các phương thức Các ví dụ dưới đây xem xét một dãy các chuỗi đại diện cho các vị trí cảnh trong hai màn đầu tiên của vở kịch Romeo và Juliet của Shakespeare
Bạn có thể sử dụng phương pháp
Tương tự, sử dụng phương pháp
Ghi chú Các phương thức Biểu diễn Unicode của ChuỗiKhi một chuỗi Unicode được ghi vào một tệp văn bản hoặc một số bộ lưu trữ khác, các vô hướng Unicode trong chuỗi đó được mã hóa theo một số dạng mã hóa do Unicode xác định. Mỗi dạng mã hóa chuỗi thành các đoạn nhỏ được gọi là đơn vị mã. Chúng bao gồm dạng mã hóa UTF-8 (mã hóa chuỗi dưới dạng đơn vị mã 8 bit), dạng mã hóa UTF-16 (mã hóa chuỗi dưới dạng đơn vị mã 16 bit) và dạng mã hóa UTF-32 (mã hóa Swift cung cấp một số cách khác nhau để truy cập các biểu diễn chuỗi Unicode. Bạn có thể lặp lại chuỗi bằng câu lệnh Ngoài ra, hãy truy cập giá trị
Mỗi ví dụ dưới đây cho thấy một cách biểu diễn khác nhau của chuỗi sau, được tạo thành từ các ký tự
Đại diện UTF-8Bạn có thể truy cập một biểu diễn UTF-8 của một
Trong ví dụ trên, ba giá trị Đại diện UTF-16Bạn có thể truy cập một biểu diễn UTF-16 của một
Một lần nữa, ba giá trị Giá trị Các giá trị Biểu diễn vô hướng UnicodeBạn có thể truy cập biểu diễn vô hướng Unicode của giá trị Mỗi
Thuộc tính Giá trị Thuộc tính Là một cách thay thế cho việc truy vấn các thuộc tính |