例如有如下一行字,关键字为 渐
let str='渐行渐远渐无书'
用split 的话得到的结果没有了 渐
str.split('渐')//[行,远,无书]
怎样分割为 [渐,行,渐,远,渐,无,书] 这种形式呢?
例如有如下一行字,关键字为 渐
let str='渐行渐远渐无书'
用split 的话得到的结果没有了 渐
str.split('渐')//[行,远,无书]
怎样分割为 [渐,行,渐,远,渐,无,书] 这种形式呢?
整合之后完整代码:
Array.prototype.filterx = Array.prototype.filterx || function(func) {
var arr = this;
var r = [];
for (var i = 0; i < arr.length; i++) {
if (func(arr[i])) {
r.push(arr[i]);
}
}
return r;
}
const split_text = (text, keyName) => {
if(!text) return [];
const array = text.replace(new RegExp(keyName || '', 'g'), '_' + (keyName || '') +'_' ).split('_');
const newArray = array.filterx(function(item) {
return item!='';
});
return newArray;
}
const text = '渐行渐远渐渐尖书渐渐';
console.log(split_text(text, '渐'));
var str = '我们中国的钓鱼岛自过以来就是中国的领土'
var s = '中国'
str.replace(new RegExp(s,"g"), '_' + s + s + '_' + s).split('_' + s).filter(x => x)
//
var str='aba';
var arr=[];
console.log(str.split(''))//[a,b,a];
//
for(var i = 0 ; i < str.length; i++){
arr.push(str[i])
}
console.log(arr);//[a,b,a]
13 回答13.1k 阅读
7 回答2.3k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.5k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
大概就这样,应该没有直接的办法可以实现那个效果,不过可以先用split分割完然后把被分割地方填充回去,也挺简单的
PS:用正则可以一行实现,不过我比较菜,写了好长还有bug,就放弃了……