我当前正在尝试从标题中抓取9个字符串,列表的开头始终是“ BC-”,然后始终是6位数字,因此例如,完整的内容看起来像是“-BC- 004352”我的问题是我可以抓住“ BC-”之后的所有内容,但是如果之后有诸如“单词单词BC-004352单词单词”之类的东西,则它会抓住“ BC-004352单词单词”。这会弄乱我的程序,那么他们仅捕获“ BC-004352”的任何方式吗?然后如何在脚本运行按钮的那一刻使脚本自可执行,这没有帮助
<!--BC-Check six digit-->
<script type="text/javascript">
function bc_check() {
var str = "FUCKCKCKKC BC-040300 Has broken";
var res = str.substring(str.indexOf("BC-") + 0);
document.getElementById("recognize").innerHTML = res;
}
</script>
答案 0 :(得分:1)
或者您可以使用正则表达式来做到这一点:
const testString = "FCKCKCKKC BC-040300 Has broken";
const regex = /.*?BC-(\d+).*?/; //Capture any number of digits following BC-
const matches = testString.match(regex); //Get the match collection
console.log(matches[1]); //Match collection index 1 holds your number
答案 1 :(得分:0)
子字符串具有indexEnd的第二个参数。它不包含该索引处的字符,因此您必须添加一个字符才能获取所需的所有字符。因此,在这种情况下,您需要将“ BC-”的索引加10。