簡體   English   中英

Javascript檢測字符串中的2位數字

[英]Javascript detecting 2 digit numbers in a string

假設用戶給了我們一個字符串“12345678”,很容易將每個數字分開。 如果用戶輸入“899091929394”(2 位數字系列),我無法理解如何將長字符串分成 2 位數字。 如果用戶輸入 3 位數字系列,會發生什么。

我的問題是:如何從長字符串中檢測和分離多位數字?

結果應該類似於 Array = [89,90,91,92,93,94]

這是你想要的:

 const string = "899091929394"; const splittedString = string.match(/.{1,2}/g); console.log(splittedString);

輸出:

[ '89', '90', '91', '92', '93', '94' ]

如果要更改“分組依據”編號,請編輯正則表達式/.{1,2}/g

你可以嘗試分開,直到你得到一個系列中的每一個項目。

 function separate(s) { var i = 1, temp; while (i < s.length) { temp = s.match(new RegExp(`.{${i}}`, 'g')).map(Number); if (temp.every((v, i, a) => !i || a[i - 1] + 1 === v || a[i - 1] + 2 === v)) { return temp; } i++; } } var strings = ["12345678", "8788909192", "899091929394", "234235236237238239"], result = strings.map(separate); result.forEach(a => console.log(...a));

 function seperateNDigitsFromNumber(numberInput, digitsCount) { const regexString = new RegExp("\\\\d{1,"+digitsCount+"}", "g"); return numberInput .match(regexString) .map(stringNum => parseInt(stringNum, 10)); } seperateNDigitsFromNumber("899091929394",2);
示例: seperateNDigitsFromNumber("899091929394",2) => [89, 90, 91, 92, 93, 94]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM