Lưu ý: nếu bạn đang vội, và / hoặc đang tìm kiếm câu trả lời ngắn, hãy cuộn xuống cuối câu trả lời và đọc hai dòng cuối cùng. Nếu không vội thì hãy đọc toàn bộ.
hãy để tôi bắt đầu bằng cách nêu rõ sự thật:
Cú pháp:
string.slice(start,end)
string.substr(start,length)
string.substring(start,end)
Lưu ý số 1:slice()==substring()
Những gì nó làm?
Các slice()
chiết xuất phương pháp các bộ phận của một chuỗi và trả về các phần chiết xuất trong một chuỗi mới.
Các substr()
chiết xuất phương pháp các bộ phận của một chuỗi, bắt đầu từ nhân vật ở vị trí nhất định, và trả về số lượng cụ thể của các nhân vật.
Các substring()
chiết xuất phương pháp các bộ phận của một chuỗi và trả về các phần chiết xuất trong một chuỗi mới.
Lưu ý 2:slice()==substring()
Thay đổi chuỗi gốc?
slice()
Không
substr()
không
substring()
không
Lưu ý # 3:slice()==substring()
Sử dụng số âm làm đối số:
slice()
chọn các ký tự bắt đầu từ cuối chuỗi
substr()
chọn các ký tự bắt đầu từ cuối chuỗi
substring()
Không thực hiện
Lưu ý # 3:slice()==substr()
nếu Đối số thứ nhất lớn hơn đối số thứ hai:
slice()
Không thực hiện
substr()
do Đối số thứ hai KHÔNG phải là vị trí, nhưng giá trị độ dài, nó sẽ hoạt động như bình thường, không có vấn đề gì
substring()
sẽ trao đổi hai đối số và thực hiện như bình thường
Đối số thứ nhất:
slice()
Bắt buộc, cho biết: Bắt đầu chỉ mục
substr()
bắt buộc, cho biết: Bắt đầu chỉ mục
substring()
bắt buộc, cho biết: Chỉ số bắt đầu
Lưu ý số 4:slice()==substr()==substring()
Đối số thứ hai:
slice()
Tùy chọn, Vị trí (tối đa, nhưng không bao gồm) nơi kết thúc trích xuất
substr()
Tùy chọn, Số lượng ký tự để trích xuất
substring()
Tùy chọn, Vị trí (tối đa, nhưng không bao gồm) nơi kết thúc trích xuất
Lưu ý # 5:slice()==substring()
Điều gì xảy ra nếu Đối số thứ hai bị bỏ qua?
slice()
chọn tất cả các ký tự từ vị trí bắt đầu đến cuối chuỗi
substr()
chọn tất cả các ký tự từ vị trí bắt đầu đến cuối chuỗi
substring()
chọn tất cả các ký tự từ vị trí bắt đầu đến cuối chuỗi
Lưu ý # 6:slice()==substr()==substring()
vì vậy, bạn có thể nói rằng có một sự khác biệt giữa slice()
và substr()
, trong khi substring()
về cơ bản là một bản sao của slice()
.
Tóm tắt:
nếu bạn biết chỉ mục (vị trí) mà bạn sẽ dừng (nhưng KHÔNG bao gồm), hãy sử dụng slice()
nếu bạn biết độ dài của các ký tự được trích xuất sử dụng substr()
.
slice
là một trong những hành vi ít bất ngờ nhất.