所以,我有一个带有分隔符 | 的字符串,其中一个部分包含“123”,有没有办法找到这个部分并打印内容? 像 PHP 的 explode(但是 JavaScript),然后循环查找 '123' ? :/
const string = "123|34|23|2342|234";
const arr = string.split('|');
for(let i in arr){
if(arr[i] == 123) alert(arr[i]);
}
或者:
for(let i in arr){
if(arr[i].indexOf('123') > -1) alert(arr[i]);
}
或者:
arr.forEach((el, i, arr) => if(arr[i].indexOf('123') > -1) alert(arr[i]) }
或者:
arr.forEach((el, i, arr) => if(el == '123') alert(arr[i]) }
或者:
const arr = "123|34|23|2342|234".split('|')
if(arr.some(el=>el == "123")) alert('123')
match()
函数;请参见下面的答案。 - wecsamJavaScript
字符串对象及其相关的方法
和属性
的文档... - Alexsplit()
函数:var txt = "123|1203|3123|1223|1523|1243|123",
list = txt.split("|");
console.log(list);
for(var i=0; i<list.length; i++){
(list[i]==123) && (console.log("Found: "+i)); //This gets its place
}
.split
等价于 explode
,而 .join
则相当于 implode
。
var myString = 'red,green,blue';
var myArray = myString.split(','); //explode
var section = myArray[1];
var myString2 = myArray.join(';'); //implode
这应该可以解决问题:
var myString = "asd|3t6|2gj|123hhh", splitted = myString.split("|"), i;
for(i = 0; i < splitted.length; i++){ // You could use the 'in' operator, too
if(splitted[i].match("123")){
// Do something
alert(splitted[i]); // Alerts the entire contents between the original |'s
// In this case, it will alert "123hhh".
}
}