Javascript 跳过相同的字符串值
Javascript 跳过相同的字符串值,javascript,string,linefeed,Javascript,String,Linefeed,var data=“20固定\r\n7固定但FX KFY 200\r\n 9固定但FZ MX KFY 150 KMZ 200\r\nLOAD 1 LOADTYPE无效标题无效”; 函数字符串(数据、str1、str2){ 返回数据.split(str1)[1]。split(str2)[0]。trim(); } var support_FBnode_data=PullBettWoString(数据,“固定”、“加载”); log(pullBetTwoStrings(数据,“固定”,“加载”))以下
var data=“20固定\r\n7固定但FX KFY 200\r\n 9固定但FZ MX KFY 150 KMZ 200\r\nLOAD 1 LOADTYPE无效标题无效”;
函数字符串(数据、str1、str2){
返回数据.split(str1)[1]。split(str2)[0]。trim();
}
var support_FBnode_data=PullBettWoString(数据,“固定”、“加载”);
log(pullBetTwoStrings(数据,“固定”,“加载”))代码>以下是实现此目的的步骤:
步骤1.使用拆分将字符串数据转换为数组\r\n
第二步。使用array.shift()这将从数组中删除第一个元素,并仅返回该元素
第三步。使用array.pop()这将从数组中删除最后一个元素,并仅返回该元素
var data=“20固定\r\n7固定但FX KFY 200\r\n 9固定但FZ MX KFY 150 KMZ 200\r\nLOAD 1 LOADTYPE无效标题无效”;
函数PullBettWoString(数据){
var result=data.split(“\r\n”);
result.shift();
result.pop();
返回结果;
}
log(pullBetTwoStrings(data))代码>如果字符串模式始终相同,则可以使用如下正则表达式:
var a = "20 FIXED\n\r 7 FIXED BUT FX KFY 200\n\r 9 FIXED BUT FZ MX KFY 150 KMZ 200\n\r LOAD 1 LOADTYPE Dead TITLE DEAD";
if (/\d+\sFIXED BUT(\s|\w+|\d+)+(\n\r)/g.test(a)) {
var result = /((\d+\s)(FIXED BUT)(\s|\w+|\d+)+(\n\r))/g.exec(a);
console.log("this is result: " + result[0]);
}
/*this is result: 7 FIXED BUT FX KFY 200
9 FIXED BUT FZ MX KFY 150 KMZ 200*/
如果您不希望以字符串数组结束,但希望以字符串结束,则可以按如下方式使用:
var data=“20固定\r\n7固定但FX KFY 200\r\n9固定但FZ MX KFY 150 KMZ 200\r\nLOAD 1 LOADTYPE无效标题无效”;
var innerData=data.slice(data.indexOf('\r\n')+2,data.lastIndexOf('\r\n'));
log(innerData)代码>我认为您的数据字符串缺少引号?拆分为数组。。。流行和移动。。。这将从第一个和最后一个。。。x=data.split('\r\n');x、 移位();x、 pop()。。。现在x有了中间线,就像Anon一样,如果你用“20 FIXED”而不是“FIXED”,你的代码是有效的,但显然你必须确保20只在第一行…你的解释是非常有用的,伙计!很高兴看到有人帮忙out@AnonSymphony谢谢..如果发现对将来参考有用,请向上投票如果字符串位于长字符串之间,如何提取该字符串?如果在开始和结束处有其他字符串,请说明?您需要使用正则表达式: