będę mieć ciąg nigdy długo niż 8 znaków, np:JavaScript podzielonego ciąg przez regex
// represented as array to demonstrate multiple examples
var strs = [
'11111111',
'1RBN4',
'12B5'
]
Gdy przebiegł funkcji, chciałbym wszystkich znaków numerycznych należy zsumować, aby powrócić ostateczną ciąg :
var strsAfterFunction = [
'8',
'1RBN4',
'3B5'
]
gdzie można zobaczyć wszystkie 8 pojedynczych 1
znaków w pierwszym ciągiem skończyć jako jeden 8
ciąg znaków, drugi ciąg pozostaje niezmieniony w żadnym punkcie nie są tam sąsiednie znaki cyfrowe i trzeci ciąg zmienia się jako 1
i 2
znaków stają się 3
, a reszta łańcucha pozostaje niezmieniona.
wierzę, że najlepszym sposobem, aby to zrobić, w pseudo-kodzie, byłoby:
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
Jaki byłby .split
regex podzielić przez wielu adajcent znaków numerycznych, np:
var str = '12RB1N1'
=> ['12', 'R', 'B', '1', 'N', '1']
EDIT:
pytanie: Co napisu "999" powinien być wynikiem "27" lub "9"
Gdyby to było jasne, zawsze zsumować cyfry, 999
=>27
, 234
=>9
Co napis „999” powinien wynikiem będzie „27” lub „9” –
muszę użyć wyrażenia regularnego? – Shanimal
@MarshallAnschutz odpowiedział na twoje pytanie - zawsze SUM cyfry – Harry