Func đầu tiên của bạn là gần như đúng. Chỉ cần xóa cờ 'G' là viết tắt của 'Toàn cầu' (chỉnh sửa) và cho nó một số bối cảnh để phát hiện ra 'R' thứ hai.
EDIT: Không thấy đó là 'r' thứ hai trước đó đã thêm '/'. Cần \/ để thoát '/' khi sử dụng regex arg. Cảm ơn vì các upvote nhưng tôi đã sai nên tôi sẽ sửa và thêm chi tiết cho những người quan tâm đến việc hiểu những điều cơ bản của regex tốt hơn nhưng điều này sẽ hoạt động:
mystring.replace(/\/r/, '/')Bây giờ để giải thích quá mức:
Khi đọc/viết một mẫu regex, hãy nghĩ về: tiếp theo là tiếp theo là
Trong Regex có thể là một lần:
/each char in this pattern/Vì vậy, đọc như E, theo sau là A, tiếp theo là C, v.v.
Hoặc một đơn lẻ có thể là các ký tự được mô tả bởi một lớp ký tự:
/[123!y]/ //any one of these /[^123!y]/ //anything but one of the chars following '^' (very useful/performance enhancing btw)Hoặc mở rộng để phù hợp với một lượng ký tự (nhưng vẫn tốt nhất để nghĩ như một yếu tố duy nhất theo mẫu tuần tự):
/a{2}/ //precisely two 'a' chars - matches identically as /aa/ would /[aA]{1,3}/ //1-3 matches of 'a' or 'A' /[a-zA-Z]+/ //one or more matches of any letter in the alphabet upper and lower //'-' denotes a sequence in a character class /[0-9]*/ //0 to any number of matches of any decimal character (/\d*/ would also work)Vì vậy, một loạt các nhóm lại với nhau:
var rePattern = /[aA]{4,8}(Eat at Joes|Joes all you can eat)[0-5]+/g var joesStr = 'aaaAAAaaEat at Joes123454321 or maybe aAaAJoes all you can eat098765'; joesStr.match(rePattern); //returns ["aaaAAAaaEat at Joes123454321", "aAaAJoes all you can eat0"] //without the 'g' after the closing '/' it would just stop at the first match and return: //["aaaAAAaaEat at Joes123454321"]Và tất nhiên tôi đã bị loại bỏ quá mức nhưng quan điểm của tôi chỉ đơn giản là:
/cat/là một loạt các yếu tố 3 mẫu (một điều tiếp theo là một điều tiếp theo là một điều).
Và đây là:
/[aA]{4,8}(Eat at Joes|Joes all you can eat)[0-5]+/Một cách kỳ quặc khi Regex bắt đầu trông giống nhau, tất cả đều bị phá vỡ thành một loạt các thứ (có khả năng đa nhân vật) theo dõi nhau một cách tuần tự. Một điểm cơ bản nhưng một điểm đã mất một thời gian để vượt qua nên tôi đã vượt qua việc giải thích nó ở đây vì tôi nghĩ đó là một điều giúp OP và những người khác mới hiểu được Regex hiểu những gì đang xảy ra. Chìa khóa để đọc/viết Regex là chia nó thành những tác phẩm đó.
Làm thế nào để bạn xóa một phần tử khỏi một chuỗi?
5 cách để loại bỏ một ký tự khỏi chuỗi trong Python.
- Subr () - Xóa một ký tự khỏi một chỉ mục cụ thể trong chuỗi. – removes a character from a particular index in the String.
- Thay thế () - Thay thế một ký tự/chuỗi cụ thể bằng một ký tự/chuỗi khác. – replaces a specific character/string with another character/string.
- Slice () - trích xuất các phần của chuỗi giữa các tham số đã cho. – extracts parts of a string between the given parameters.
- Sử dụng hàm Chuỗi thay thế () với biểu thức chính quy.string replace() function with a regular expression.
Chuỗi JavaScript thay thế ()
Chuỗi JavaScript thay thế () là một phương thức tích hợp, trả về chuỗi mới với một số kết quả của mẫu được thay thế bằng cách thay thế. Hàm thay thế () thay thế ký tự/chuỗi cụ thể bằng ký tự/chuỗi khác. & Nbsp; returns the new String with some matches of the pattern replaced by the replacement. The replace() function replaces the specific character/string with another character/string.
Phương thức repace () có hai tham số, thứ nhất là chuỗi được thay thế và thứ hai là chuỗi, sẽ được thay thế bằng.
Trong trường hợp này, đối số đầu tiên là ký tự được xóa và tham số thứ hai có thể được đưa ra dưới dạng chuỗi trống. Sau đó, phương thức thay thế () sẽ loại bỏ ký tự khỏi chuỗi. Cuối cùng, phương thức thay thế () loại bỏ sự xuất hiện đầu tiên của chuỗi.
Cú pháp
string.replace('characterToReplace', '');Thí dụ
// app.js str = 'Hello cy Adele'; newStr = str.replace('c', ''); console.log('Original String: ', str); console.log('After character removed: ', newStr);Đầu ra
node app.js Original String: Hello cy Adele After character removed: Hello y AdeleTrong ví dụ này, chuỗi ban đầu của chúng tôi là ‘Xin chào bởi Adele. Sau & nbsp; sử dụng String.replace () và truyền ký tự trống để được thay thế cho ký tự ‘C‘, chúng tôi đã loại bỏ thành công ký tự ‘C‘ và đầu ra là & nbsp; ‘Xin chào y adele.‘Hello by Adele’. After using String.replace() and pass the empty character to be replaced for the ‘c‘ character, we successfully removed the ‘c‘ character, and output is ‘Hello y Adele’.
Sử dụng phương thức thay thế () với biểu thức thông thường
Để xóa một ký tự khỏi chuỗi, hãy sử dụng Chuỗi thay thế () và biểu thức chính quy. Sự kết hợp này được sử dụng để loại bỏ tất cả các lần xuất hiện của ký tự cụ thể, không giống như hàm trước.
Một biểu thức thông thường được sử dụng thay vì một chuỗi cùng với thuộc tính toàn cầu. Nó sẽ chọn mọi lần xuất hiện trong một chuỗi và nó có thể được loại bỏ.
Xem mã sau.
/each char in this pattern/ 0Đầu ra
/each char in this pattern/ 1Trong ví dụ này, chuỗi ban đầu của chúng tôi là ‘Xin chào bởi Adele. Sau & nbsp; sử dụng String.replace () và truyền ký tự trống để được thay thế cho ký tự ‘C‘, chúng tôi đã loại bỏ thành công ký tự ‘C‘ và đầu ra là & nbsp; ‘Xin chào y adele.D character with nothing, and it has removed the character from the string.
Sử dụng phương thức thay thế () với biểu thức thông thường
Để xóa một ký tự khỏi chuỗi, hãy sử dụng Chuỗi thay thế () và biểu thức chính quy. Sự kết hợp này được sử dụng để loại bỏ tất cả các lần xuất hiện của ký tự cụ thể, không giống như hàm trước.
Một biểu thức thông thường được sử dụng thay vì một chuỗi cùng với thuộc tính toàn cầu. Nó sẽ chọn mọi lần xuất hiện trong một chuỗi và nó có thể được loại bỏ.
Xem mã sau.It extracts a string from the second character up to the end of the string.
Bạn có thể thấy rằng sử dụng phương thức biểu thức và thay thế () thông thường, chúng tôi đã thay thế ký tự D không có gì và nó đã loại bỏ ký tự khỏi chuỗi.
Xem mã sau.
/each char in this pattern/ 2Đầu ra
/each char in this pattern/ 3Trong ví dụ này, chuỗi ban đầu của chúng tôi là ‘Xin chào bởi Adele. Sau & nbsp; sử dụng String.replace () và truyền ký tự trống để được thay thế cho ký tự ‘C‘, chúng tôi đã loại bỏ thành công ký tự ‘C‘ và đầu ra là & nbsp; ‘Xin chào y adele.
Sử dụng phương thức thay thế () với biểu thức thông thường
Để xóa một ký tự khỏi chuỗi, hãy sử dụng Chuỗi thay thế () và biểu thức chính quy. Sự kết hợp này được sử dụng để loại bỏ tất cả các lần xuất hiện của ký tự cụ thể, không giống như hàm trước.
Một biểu thức thông thường được sử dụng thay vì một chuỗi cùng với thuộc tính toàn cầu. Nó sẽ chọn mọi lần xuất hiện trong một chuỗi và nó có thể được loại bỏ.
Xem mã sau.
Bạn có thể thấy rằng sử dụng phương thức biểu thức và thay thế () thông thường, chúng tôi đã thay thế ký tự D không có gì và nó đã loại bỏ ký tự khỏi chuỗi.
Xóa ký tự khỏi chuỗi bằng Slice ()
Chức năng Slice String () JavaScript được sử dụng để trích xuất các phần của chuỗi giữa các tham số đã cho. Phương thức Slice () lấy chỉ mục bắt đầu và chỉ mục kết thúc của chuỗi và trả về chuỗi ở giữa các chỉ số này.
Thí dụ
Đầu ra
/each char in this pattern/ 4Đầu ra
/each char in this pattern/ 5Trong ví dụ này, chuỗi ban đầu của chúng tôi là ‘Xin chào bởi Adele. Sau & nbsp; sử dụng String.replace () và truyền ký tự trống để được thay thế cho ký tự ‘C‘, chúng tôi đã loại bỏ thành công ký tự ‘C‘ và đầu ra là & nbsp; ‘Xin chào y adele.
Sử dụng phương thức thay thế () với biểu thức thông thường
Để xóa một ký tự khỏi chuỗi, hãy sử dụng Chuỗi thay thế () và biểu thức chính quy. Sự kết hợp này được sử dụng để loại bỏ tất cả các lần xuất hiện của ký tự cụ thể, không giống như hàm trước.str.substr(), str.slice(), and str.replace() methods.
Một biểu thức thông thường được sử dụng thay vì một chuỗi cùng với thuộc tính toàn cầu. Nó sẽ chọn mọi lần xuất hiện trong một chuỗi và nó có thể được loại bỏ.