câu hỏi nhanh: mẫu của tôi là một chuỗi svg và có vẻ như l 5 0 l 0 10 l -5 0 l 0 -10
Để thực hiện một số so sánh không so sánh với tham chiếu tôi cần phải bỏ tất cả trừ l
đầu tiên Tôi biết tôi có thể mương tất cả chúng và đặt một 'l' trả trước, hoặc tôi có thể sử dụng chất nền. Nhưng tôi tự hỏi là có một thành ngữ regexp javascript cho điều này?Làm thế nào để thay thế tất cả NHƯNG sự xuất hiện đầu tiên của một mẫu trong chuỗi
Trả lời
Bạn có thể thử một lookahead tiêu cực, tránh sự bắt đầu của chuỗi:
/(?!^)l/g
Xem nếu trực tuyến: jsfiddle
Yea này dường như cảm ơn bạn! –
Tôi đang cố gắng sửa đổi điều này để làm việc cho ký tự '-' đầu tiên xuất hiện và tôi đang gặp một thời gian rất khó khăn: (Bất kỳ sự trợ giúp nào được đánh giá cao. Cảm ơn trước. –
Làm cách nào để sử dụng điều này với một biến? – Wlliam
Something như thế này?
"l 5 0 l 0 10 l -5 0 l 0 -10".replace(/[^^]l/g, '')
Mặc dù điều này không làm việc trong trường hợp này, không '^' đại diện cho ký tự chữ trong một lớp ký tự? – pimvdb
'[^^]' khớp với bất kỳ ký tự nào ngoài ''^''. các ký tự ở bất kỳ điểm nào khác với đầu vào của đầu vào như bạn yêu cầu. (()/[^^] /. test ('^') && /[^^]/.test('x ')) === true' –
Không có JS RegExp để thay thế tất cả mọi thứ-nhưng-the-đầu-mẫu-match. Tuy nhiên, bạn có thể thực hiện hành vi này bằng cách chuyển một hàm làm đối số thứ hai cho phương thức replace
.
var regexp = /(foo bar)(red)/g; //Example
var string = "somethingfoo bar red foo bar red red pink foo bar red red";
var first = true;
//The arguments of the function are similar to $0 $1 $2 $3 etc
var fn_replaceBy = function(match, group1, group2){ //group in accordance with RE
if (first) {
first = false;
return match;
}
// Else, deal with RegExp, for example:
return group1 + group2.toUpperCase();
}
string = string.replace(regexp, fn_replaceBy);
//equals string = "something foo bar red foo bar RED red pink foo bar RED red"
Chức năng (fn_replaceBy
) được thực hiện cho mỗi trận đấu. Tại trận đấu đầu tiên, hàm trả về ngay lập tức với chuỗi được kết hợp (không có gì xảy ra) và cờ được đặt.
Mỗi trận đấu khác sẽ được thay thế theo logic như được mô tả trong hàm: Thông thường, bạn sử dụng $0 $1 $2
, v.v., để tham khảo lại nhóm. Trong fn_replaceBy
, đối số hàm bằng các đối số sau: Đối số đầu tiên = $0
, đối số thứ hai = $1
, v.v.
Chuỗi con phù hợp sẽ được thay thế bằng giá trị trả lại của hàm fn_replaceBy
. Việc sử dụng hàm làm tham số thứ hai cho số replace
cho phép các ứng dụng rất mạnh mẽ, chẳng hạn như intelligent HTML parser.
Xem thêm: MDN: String.replace > Specifying a function as a parameter
Tôi không tin rằng "trình phân tích cú pháp HTML thông minh" sẽ không liên kết đến câu trả lời "phân tích cú pháp HTML bằng regex", haha. Nhưng câu trả lời rất hay, đây chỉ là những gì tôi cần. :) – henrebotha
"l 5 0 l 0 10 l -5 0 l 0 -10".replace(/^\s+/, '').replace(/\s+l/g, '')
đảm bảo các 'l'
đầu tiên không được đi trước bởi không gian và loại bỏ bất kỳ không gian tiếp theo là một 'l'
.
- 1. Ruby - thay thế sự xuất hiện đầu tiên của một chuỗi với một chuỗi
- 2. Thay thế tất cả các lần xuất hiện của một mẫu trong một chuỗi
- 3. Làm thế nào để có được sự xuất hiện đầu tiên của một char trong xâu
- 4. Làm thế nào để thay thế một chuỗi trong một chuỗi ngoại trừ lần xuất hiện đầu tiên
- 5. Có sed thay thế trên chuỗi nhưng SKIP lần đầu tiên xuất hiện
- 6. Thay thế tất cả các lần xuất hiện bên mẫu
- 7. Làm thế nào để thay thế sự xuất hiện đầu tiên của cụm từ thông dụng trong Python?
- 8. Thay thế chuỗi đầu tiên trong Python
- 9. Làm thế nào để thay thế sự xuất hiện cuối cùng của chuỗi con trong ruby?
- 10. rreplace - Làm thế nào để thay thế sự xuất hiện cuối cùng của một biểu thức trong một chuỗi?
- 11. Làm cách nào để Regex tìm kiếm/thay thế lần xuất hiện đầu tiên trong chuỗi trong .NET?
- 12. Làm thế nào để tìm sự xuất hiện của một chuỗi trong chuỗi trong C + +?
- 13. Làm thế nào để tìm tất cả các lần xuất hiện của một biến trong Vim?
- 14. Làm thế nào tôi có thể tìm thấy sự xuất hiện đầu tiên của chuỗi con xuất hiện sau một chuỗi con khác trong python?
- 15. Regex để phù hợp với sự xuất hiện đầu tiên của một chuỗi
- 16. Làm thế nào để thay thế các lần xuất hiện của "-" bằng một chuỗi rỗng?
- 17. làm thế nào để thay đổi trường hợp của chữ cái đầu tiên của một chuỗi?
- 18. jQuery - Thay thế tất cả ngoặc trong một chuỗi
- 19. Action Script 3.0 thay thế tất cả các lần xuất hiện trong chuỗi multiline
- 20. NSRegularExpressions mục tiêu-C, tìm sự xuất hiện đầu tiên của các số trong một chuỗi
- 21. php thay thế xuất hiện đầu tiên của chuỗi từ vị trí 0
- 22. Làm thế nào để loại bỏ tất cả các lần xuất hiện của c2a0 trong một chuỗi bằng PHP?
- 23. Javascript - Thay thế tất cả dấu phẩy trong một chuỗi
- 24. Thay đổi kiểu của tất cả các lần xuất hiện của một chuỗi
- 25. Tìm sự xuất hiện đầu tiên của một chuỗi từ một vector <string>
- 26. Python re.sub với một lá cờ không thay thế tất cả các lần xuất hiện
- 27. Thay thế tất cả "(" và ")" trong một chuỗi trong Java
- 28. Làm thế nào để thay thế chuỗi trong tất cả các tài liệu trong Mongo
- 29. Làm thế nào để ràng buộc một sự kiện cho tất cả các yếu tố đầu vào của biểu mẫu?
- 30. Làm thế nào tôi có thể tìm thấy sự xuất hiện đầu tiên của một chuỗi con trong một chuỗi python?
L đầu tiên có luôn ở đầu chuỗi không? –
tôi biết bạn nói rằng bạn không muốn điều này, nhưng chuỗi con đến không gian đầu tiên có vẻ như dễ nhất để đọc và duy trì. – Randy
@Mark có cho usecase này, nó thậm chí là 'l', nhưng điều đó cũng làm việc với lookahead tiêu cực. –