Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript子字符串缺少字符?_Javascript_String_Substring - Fatal编程技术网

JavaScript子字符串缺少字符?

JavaScript子字符串缺少字符?,javascript,string,substring,Javascript,String,Substring,我试图使用子字符串来区分JavaScript中的数据。 我提取的原始数据是: 我使用的代码是 var contents='0。!3.0011632! \ 0.01! 2.9417362! '; var lastPosition=0; var计数=0; //此代码将继续查找!直到它发生三次 而(计数

我试图使用子字符串来区分JavaScript中的数据。 我提取的原始数据是:

我使用的代码是

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