Hiện đang gặp sự cố với việc loại bỏ tất cả các ký tự chữ cái khỏi chuỗi ngoại trừ '_', '-' và số. Chuỗi của tôi trông giống như sau.
let str = '/Anna-Charoline_1985-02-14_London/';
Và tôi đã thử theo mã sau để loại bỏ các ký tự không mong muốn.
let formatted = str.replace[/[D&\/\\#,+[]$~%.'":*?{}]/g, ''];
Nó không hoạt động. bất cứ ai có thể giúp tôi với điều này xin vui lòng? Đầu ra dự kiến là _1985-02-14_
.
Đã hỏi ngày 20 tháng 5 năm 2020 lúc 12:39May 20, 2020 at 12:39
2
Đây là cách dễ dàng hơn với một lớp nhân vật phủ định:
str.replace[/[^0-9_-]/g, ''];
Tất cả mọi thứ không phải là một chữ số từ 0 đến 9, dấu gạch dưới hoặc trừ, sẽ được thay thế bằng một chuỗi trống.
. , nó sẽ cần phải được trốn thoát, \-
.]
Đã trả lời ngày 20 tháng 5 năm 2020 lúc 12:43May 20, 2020 at 12:43
CbroecbroeCBroe
88.5K13 Huy hiệu vàng90 Huy hiệu bạc142 Huy hiệu đồng13 gold badges90 silver badges142 bronze badges
0
Xóa các ký tự đặc biệt khỏi chuỗi #
Sử dụng phương thức replace[]
để xóa tất cả các ký tự đặc biệt khỏi chuỗi, ví dụ: str.replace[/[^a-zA-Z0-9 ]/g, ''];
. Phương thức
0 sẽ trả về một chuỗi mới không chứa bất kỳ ký tự đặc biệt nào.let formatted = str.replace[/[D&\/\\#,+[]$~%.'":*?{}]/g, ''];
Copied!
const str = 'hello 123 !@#$%^WORLD?.'; const noSpecialCharacters = str.replace[/[^a-zA-Z0-9 ]/g, '']; console.log[noSpecialCharacters]; // 👉️ 'hello 123 WORLD'
Tham số đầu tiên chúng tôi chuyển đến phương thức chuỗi.REPLACE là một biểu thức chính quy.
Chúng tôi đã sử dụng cờ
1 [toàn cầu] để phù hợp với tất cả các lần xuất hiện của regex trong chuỗi và không chỉ là lần xuất hiện đầu tiên.let formatted = str.replace[/[D&\/\\#,+[]$~%.'":*?{}]/g, ''];
Phần ngoặc vuông
let formatted = str.replace[/[D&\/\\#,+[]$~%.'":*?{}]/g, ''];
2 Phần biểu thị một lớp ký tự và biểu tượng CARET let formatted = str.replace[/[D&\/\\#,+[]$~%.'":*?{}]/g, ''];
3 có nghĩa là "không phải là các ký tự sau".the caret let formatted = str.replace[/[D&\/\\#,+[]$~%.'":*?{}]/g, ''];
3 symbol means "not the following
characters".Sau ký hiệu
let formatted = str.replace[/[D&\/\\#,+[]$~%.'":*?{}]/g, ''];
3 [không], chúng tôi chỉ định:- Phạm vi cho các chữ cái thấp hơn [A-Z] và chữ hoa [A-Z]. Điều này chỉ áp dụng cho bảng chữ cái Latin.
- một phạm vi cho các chữ số từ [0-9]
- gạch dưới
Một cách rất thuận tiện để kiểm tra những gì một nhân vật cụ thể phù hợp là nhìn vào mdn Cheatsheet.
Nếu bạn cần loại trừ các ký tự khác khỏi được khớp, hãy thêm chúng giữa các dấu ngoặc vuông
let formatted = str.replace[/[D&\/\\#,+[]$~%.'":*?{}]/g, ''];
2 của biểu thức chính quy.Nếu bạn không biết cú pháp cho một ký tự cụ thể, hãy xem MDN Regex Syntax Cheatsheet.
Chúng tôi cũng có thể rút ngắn biểu thức chính quy bằng cách sử dụng ký tự
let formatted = str.replace[/[D&\/\\#,+[]$~%.'":*?{}]/g, ''];
6.Copied!
const str = 'hello 123 !@#$%^WORLD?._'; const noSpecialCharacters = str.replace[/[^\w ]/g, '']; console.log[noSpecialCharacters]; // 👉️ 'hello 123 WORLD_'
Điều này hơi khác so với ví dụ trước của chúng tôi vì ký tự
let formatted = str.replace[/[D&\/\\#,+[]$~%.'":*?{}]/g, ''];
6 khớp với nhau:
- Phạm vi cho các chữ cái thấp hơn [A-Z] và chữ hoa [A-Z]. Điều này chỉ áp dụng cho bảng chữ cái Latin.
- một phạm vi cho các chữ số từ [0-9]
- gạch dưới
Một cách rất thuận tiện để kiểm tra những gì một nhân vật cụ thể phù hợp là nhìn vào mdn Cheatsheet.
Nếu bạn cần loại trừ các ký tự khác bị xóa, hãy thêm chúng giữa các dấu ngoặc vuông của Regex.
Tuy nhiên, lưu ý rằng biểu tượng Caret
3 phải là ký tự đầu tiên trong dấu ngoặc vuông có nghĩa là "không phải là các ký tự sau".let formatted = str.replace[/[D&\/\\#,+[]$~%.'":*?{}]/g, ''];
Nếu bạn vượt qua CARET
let formatted = str.replace[/[D&\/\\#,+[]$~%.'":*?{}]/g, ''];
3 sau đó trong Regex, nó sẽ được hiểu theo nghĩa đen là biểu tượng let formatted = str.replace[/[D&\/\\#,+[]$~%.'":*?{}]/g, ''];
3.Lưu ý rằng phương thức
1 không thay đổi chuỗi gốc. Thay vào đó, phương thức trả về một chuỗi mới với các trận đấu được thay thế.str.replace[/[^0-9_-]/g, ''];
Đọc thêm #
- Kiểm tra xem chuỗi có chứa các ký tự đặc biệt trong JavaScript không
- Xóa tất cả các khoảng trống khỏi chuỗi trong JavaScript
- Thay thế tất cả các số trong một chuỗi bằng JavaScript
- Xóa tất cả các số khỏi chuỗi trong JavaScript
- Xóa các chuỗi trống khỏi một mảng trong JavaScript
- Xóa các giá trị chuỗi trống khỏi một đối tượng trong JavaScript
- Xóa tất cả các ký tự không phải là vô hiệu khỏi chuỗi trong JS
- Biến nội suy trong một chuỗi trong JavaScript