Tôi muốn chia một chuỗi với tất cả các ký tự không alphabetic là DELIMITERS.
Ví dụ: tôi muốn chia chuỗi này
"hello1 twenty-three / nine.bye"
vào trong
["hello","","twenty","three","","","nine","bye"]
Tôi đã thử cái này
text.split[/\[A-Za-z]+/]
Nhưng nó không hoạt động.
Làm cách nào để phân chia một chuỗi bằng các ký tự không alphabetic?
Đã hỏi ngày 23 tháng 3 năm 2012 lúc 16:02Mar 23, 2012 at 16:02
Peter Olsonpeter OlsonPeter Olson
135K49 Huy hiệu vàng199 Huy hiệu bạc240 Huy hiệu Đồng49 gold badges199 silver badges240 bronze badges
1
Có vẻ như bạn đang tìm kiếm một nguyên tử không phù hợp: [^
. Hãy thử những điều sau đây
text.split[/[^A-Za-z]/]
Đã trả lời ngày 23 tháng 3 năm 2012 lúc 16:03Mar 23, 2012 at 16:03
JaredparjaredparJaredPar
715K146 Huy hiệu vàng1221 Huy hiệu bạc1443 Huy hiệu đồng146 gold badges1221 silver badges1443 bronze badges
1
Không phải là dấu gạch chéo ngược không phải là phá vỡ []
của bạn? Còn text.split[/[^A-Za-z]+/]
thì sao?
"asdsd22sdsdd".split[/[^A-Za-z]/]
["asdsd", "", "sdsdd"]
Đã trả lời ngày 23 tháng 3 năm 2012 lúc 16:05Mar 23, 2012 at 16:05
Jamund Fergusonjamund FergusonJamund Ferguson
16.4K3 Huy hiệu vàng42 Huy hiệu bạc49 Huy hiệu đồng3 gold badges42 silver badges49 bronze badges
Xóa tất cả các ký tự không phải là một số tự do khỏi chuỗi #
Để loại bỏ tất cả các ký tự không phải là một chuỗi không phải là một chuỗi, hãy gọi phương thức
0, chuyển nó một biểu thức thông thường phù hợp với tất cả các ký tự không phải là ký tự vô số là tham số đầu tiên và một chuỗi trống là thứ hai. Phương thức ["hello","","twenty","three","","","nine","bye"]
1 trả về một chuỗi mới với tất cả các trận đấu được thay thế.["hello","","twenty","three","","","nine","bye"]
Copied!
const str = 'A!@#b$%^c&*['; const replaced = str.replace[/[^a-z0-9]/gi, '']; console.log[replaced]; // 👉️ Abc
Nếu bạn cũng muốn bảo tồn không gian, dấu gạch nối hoặc các ký tự khác, hãy cuộn xuống đoạn mã tiếp theo.
Chúng tôi đã chuyển các tham số sau cho phương thức chuỗi.REPLACE:
- Một biểu thức chính quy mà chúng tôi muốn khớp trong chuỗi.
- sự thay thế cho mỗi trận đấu. Đối với mục đích của chúng tôi, một chuỗi trống vì chúng tôi muốn loại bỏ tất cả các ký tự không phải là ký tự vô sinh.
Các chém về phía trước
["hello","","twenty","three","","","nine","bye"]
2 đánh dấu sự khởi đầu và kết thúc của biểu thức chính quy.Các dấu ngoặc vuông []
được gọi là lớp ký tự.
Biểu tượng CARET
4 có nghĩa là "không phải như sau". Trong trường hợp của chúng tôi, điều này có nghĩa là không có bất kỳ chữ cái nào trong phạm vi ["hello","","twenty","three","","","nine","bye"]
5 chứ không phải bất kỳ số nào trong phạm vi ["hello","","twenty","three","","","nine","bye"]
6.["hello","","twenty","three","","","nine","bye"]
Chúng tôi đã sử dụng cờ
7 [toàn cầu] vì chúng tôi muốn khớp với tất cả các sự xuất hiện của các ký tự không phải là vô hiệu và không chỉ là lần xuất hiện đầu tiên.["hello","","twenty","three","","","nine","bye"]
Cờ
["hello","","twenty","three","","","nine","bye"]
8 làm cho sự nhạy cảm của trường hợp trận đấu của chúng tôi bằng cách nhắm mục tiêu tất cả các ký tự chữ hoa và chữ thường.Nếu bạn cần trợ giúp đọc một biểu thức thông thường, hãy xem mdn gian lận regex này.
Nếu trường hợp sử dụng của bạn yêu cầu bạn cũng bảo tồn không gian, dấu gạch nối hoặc các ký tự khác, hãy thêm chúng giữa các dấu ngoặc vuông []
.
Copied!
const str = 'A!@# b$% ^c&-*['; const replaced = str.replace[/[^a-z0-9 -]/gi, '']; console.log[replaced]; // 👉️ A b c-
Đoạn mã bảo tồn tất cả các ký tự, không gian và dấu gạch chữ số. Bạn có thể điều chỉnh Regex theo nhu cầu của mình bằng cách thêm hoặc xóa các ký tự giữa các dấu ngoặc vuông []
.
Phương thức
1 không thay đổi nội dung của chuỗi gốc, nó trả về một chuỗi mới. Chuỗi là bất biến trong JavaScript.["hello","","twenty","three","","","nine","bye"]
Đọc thêm #
- Kiểm tra xem chuỗi chỉ chứa các chữ số trong javascript
- Kiểm tra xem chuỗi chỉ chứa các chữ cái và số trong js