所以我需要从字符串中提取一个数字值。我目前有一个可行的解决方案,但我觉得也许我可以使用正则表达式或其他东西来改进它。
这是我的解决方案
var subject = "This is a test message [REF: 2323232]";
if(subject.indexOf("[REF: ") > -1){
var startIndex = subject.indexOf("[REF: ");
var result = subject.substring(startIndex);
var indexOfLastBrace = result.indexOf("]");
var IndexOfRef = result.indexOf("[REF: ");
var ticketNumber = result.substring(IndexOfRef + 6, indexOfLastBrace);
if(!isNaN(ticketNumber)){
console.log("The ticket number is " + ticketNumber)
console.log("Valid ticket number");
}
else{
console.log("Invalid ticket number");
}
}
如您所见,我正在尝试从“[REF:”字符串之后提取数字值。
最佳答案
// Change of the text for better test results
var subject = "hjavsdghvwh jgya 16162vjgahg451514vjgejd5555v fhgv f 262641hvgf 665115bs cj15551whfhwj511";
var regex = /\d+/g;
let number = subject.match( regex )
console.log(number)
它会暂时返回数组,如果找不到匹配项,它将返回 null。 在大多数情况下,当我使用这个正则表达式时,我会得到完美的结果,除非字符串包含十进制值。
关于javascript - 从字符串中提取数字值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48832367/