我將有一個字符串的長度不會漫長超過8個字符,如:JavaScript的分割字符串的正則表達式
// represented as array to demonstrate multiple examples
var strs = [
'11111111',
'1RBN4',
'12B5'
]
當通過函數跑了,我想所有的數字字符來概括返回一個最終的字符串:
var strsAfterFunction = [
'8',
'1RBN4',
'3B5'
]
在這裏你可以看到所有的8個單1
字符的第一個字符串中最終成爲一個8
字符串,第二個字符串保持不變,因爲在任何時候都存在相鄰數字字符,第三串改變爲1
和2
字符變成3
,並且字符串的其餘部分保持不變。
我認爲要做到這一點,在僞代碼的最佳方式,是:
1. split the array by regex to find multiple digit characters that are adjacent
2. if an item in the split array contains digits, add them together
3. join the split array items
會是什麼.split
正則表達式由多個adajcent數字字符分割,如:
var str = '12RB1N1'
=> ['12', 'R', 'B', '1', 'N', '1']
編輯:
問題: 什麼字符串 「999」 應該的結果是 「27」 或 「9」
如果是明確的,始終總和數字,999
=>27
,234
=>9
什麼字符串「999」應該的結果是「27」或「9」 –
我必須使用正規? – Shanimal
@MarshallAnschutz已回答你的問題 - 總是SUM數字 – Harry