JavaScript子字符串缺少字符?
我试图使用子字符串来区分JavaScript中的数据。 我提取的原始数据是: 我使用的代码是JavaScript子字符串缺少字符?,javascript,string,substring,Javascript,String,Substring,我试图使用子字符串来区分JavaScript中的数据。 我提取的原始数据是: 我使用的代码是 var contents='0。!3.0011632! \ 0.01! 2.9417362! '; var lastPosition=0; var计数=0; //此代码将继续查找!直到它发生三次 而(计数
var contents='0。!3.0011632! \
0.01! 2.9417362! ';
var lastPosition=0;
var计数=0;
//此代码将继续查找!直到它发生三次
而(计数<3){
//contents是一个包含所有数据的字符串变量。
控制台日志(最后位置);
console.log(contents.indexOf(“!”,lastPosition+1));
log(contents.substr(lastPosition+1,contents.indexOf(“!”,lastPosition+1));
lastPosition=contents.indexOf(“!”,lastPosition+1);
计数++;
}
使用正则表达式匹配以结尾的字符串代码>。g
修饰符使其匹配所有匹配项并返回匹配项数组。然后我使用.slice()
只得到前3个
var contents='0。!3.0011632! \
0.01! 2.9417362! ';
var matches=contents.match(/[^!]*!/g).slice(0,3);
console.log(匹配项)代码>您可以解释“contents”吗?或者更好的是,添加设置“contents”变量的代码?contents是一个包含所有数据的字符串。它有点大。您的代码不会产生与您所说的相同的输出。这是真的代码吗?@evolutionxbox拼写现已修复,谢谢。我只使用正则表达式来忽略java中字符组合的某些字符。你能在这里举个例子,说明它是如何分解字符串的,这样我就可以删除单个数据点了。谢谢。我不是说注释,字符串和位置是不同的。单击RunCodeSnippet并查看。感谢您提供的示例。您如何使3使用动态,以便我可以使用它,直到我到达文件的结尾?我有很多数据,我在3处使用的计数器是任意的,只是为了测试逻辑。请使用变量,而不是3
。或者,如果您真的不需要限制匹配的数量,请不要调用.slice
。