[英]JS - Split string into substrings by regex
假設我有一個字符串,以7878
開頭,以0d0a
或0D0A
結束,例如:
var string = "78780d0101234567890123450016efe20d0a";
var string2 = "78780d0101234567890123450016efe20d0a78780d0103588990504943870016efe20d0a";
var string 3 = "78780d0101234567890123450016efe20d0a78780d0103588990504943870016efe20d0a78780d0101234567890123450016efe20d0a"
我如何通過正則表達式拆分它,使其變成一個數組,如:
['78780d0101234567890123450016efe20d0a']
['78780d0101234567890123450016efe20d0a','78780d0101234567890123450016efe20d0a']
['78780d0101234567890123450016efe20d0a','78780d0101234567890123450016efe20d0a','78780d0101234567890123450016efe20d0a']
您可以使用正向先行(?=7878)
拆分字符串。 正則表達式不占用任何字符,因此7878
將成為字符串的一部分。
var rgx = /(?=7878)/;
console.log(string1.split(rgx));
console.log(string2.split(rgx));
console.log(string3.split(rgx));
另一種選擇是對分裂'7878'
,然后把所有的元件除了第一和添加'7878'
至它們。 例如:
var arr = string3.split('7878').slice(1).map(function(str){
return '7878' + str;
});
可以,但是它也可以匹配不以
0d0a
結尾的字符串。 如何只匹配那些以0d0a
或0D0A
?
好了,那么您可以將String.match
與String.match
則表達式一起使用。
console.log(string3.match(/7878.*?0d0a/ig));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.