我有一个很长的字符串,我正在尝试获得一个是Stock#的项目,如果我能以另一种方式得到它,但我坚持:
锭银色金属外观,炭黑色/银色针脚内饰,状态:经销商订购,发动机:常规无铅I-4 1.6 L / 97,Trans:自动,库存号:IP-2758P4B,VIN#:3FADP4BJ2FM114457
所以基本上我只需要IP-2758P4B。 我从StackOverflow的另一个地方尝试了不同的答案,但没有运气。
提前谢谢
答案 0 :(得分:1)
分割通常比正则表达式更容易使用:
以下是我如何解决它。
var a = "Ingot Silver Metallic Exterior, Charcoal Black / Silver Stitch Interior, Status: Dealer Ordered, Engine: Regular Unleaded I-4 1.6 L/97, Trans: Automatic, Stock#: IP-2758P4B, VIN #: 3FADP4BJ2FM114457";
var stockNum = a.split("Stock#:")[1].split(",")[0].trim();
答案 1 :(得分:1)
您可以尝试以下代码,
> var foo = "Ingot Silver Metallic Exterior, Charcoal Black / Silver Stitch Interior, Status: Dealer Ordered, Engine: Regular Unleaded I-4 1.6 L/97, Trans: Automatic, Stock#: IP-2758P4B, VIN #: 3FADP4BJ2FM114457";
undefined
> var re = /Stock#:\s*([^,]*)/g;
undefined
> var m;
undefined
> while ((m = re.exec(foo)) != null) {
... console.log(m[1]);
... }
IP-2758P4B
答案 2 :(得分:0)
答案 3 :(得分:0)
JavaScript中的正则表达式相当简单,但我真的建议你阅读一个教程 - 谷歌有很多。
至于解决正则表达式的问题:
var a = "Ingot Silver Metallic Exterior, Charcoal Black / Silver Stitch Interior, Status: Dealer Ordered, Engine: Regular Unleaded I-4 1.6 L/97, Trans: Automatic, Stock#: IP-2758P4B, VIN #: 3FADP4BJ2FM114457";
var regex = /Stock#: (.+?),/g;
var resultArray = regex.exec(a);
if (resultArray.length >= 1) {
var result = resultArray[1];
} else {
// The stock number couldn't be found
}