Trích xuất chuỗi con

Clojure:
Trích xuất chuỗi con

Cách thực hiện:

Clojure làm cho việc làm việc với chuỗi trở nên dễ dàng. Để rút trích chuỗi con, subs là hàm bạn cần đến:

(let [text "ClojureRocks"]
  (subs text 7)) ; => "Rocks"

(let [text "ClojureRocks"]
  (subs text 0 7)) ; => "Clojure"

Và đó là tất cả—cung cấp chỉ số bắt đầu, và tùy chọn một chỉ số kết thúc, và bạn sẽ cắt chuỗi đúng như bạn cần.

Sâu hơn nữa

Việc rút trích chuỗi con không phải là mới—đã tồn tại từ những ngày đầu của lập trình. Trong Clojure, subs là một hàm đơn giản. Nó là một phần của khả năng tương tác Java của Clojure, lợi dụng phương thức substring của Java. Hai điểm chính: không cho phép chỉ số âm, và nó bắt đầu từ số không (bắt đầu đếm từ số không). Vì vậy, hãy nhớ điều đó hoặc bạn sẽ lỡ mất một.

Có lựa chọn khác? Chắc chắn. Regex với re-findre-matcher cho các mẫu phức tạp, hoặc split nếu bạn đang chia tại một dấu phân cách. Mỗi công cụ có vị trí của nó, nhưng không có gì đánh bại subs về sự đơn giản.

Về mặt thực thi, subs không sao chép ký tự, nó chia sẻ mảng ký tự gốc của chuỗi. Hiệu quả, nhưng nếu chuỗi gốc của bạn rất lớn và tất cả những gì bạn cần chỉ là một chút nhỏ, bạn có thể vô tình giữ toàn bộ chuỗi lớn trong bộ nhớ.

Xem thêm:

  • API Chuỗi Clojure chính thức: clojure.string
  • substring Java: Bởi vì đó là nguồn lực chính đằng sau subs. Java substring
  • Biểu thức chính quy trong Clojure: re-find
  • Chia chuỗi trong Clojure: split