avrò una stringa mai lungo di 8 caratteri, ad esempio:JavaScript spaccatura stringa regex
// represented as array to demonstrate multiple examples
var strs = [
'11111111',
'1RBN4',
'12B5'
]
Quando correva attraverso una funzione, vorrei tutti i caratteri numerici per essere sommati per restituire una stringa finale :
var strsAfterFunction = [
'8',
'1RBN4',
'3B5'
]
Dove è possibile leggere tutte le 8 singole 1
caratteri della prima stringa finiscono come una singola stringa di caratteri 8
, la seconda stringa rimane invariata in nessun punto sono là caratteri numerici adiacenti e terza corda cambia come 1
e 2
caratteri diventano 3
e il resto della stringa è invariato.
Credo che il modo migliore per farlo, in pseudo-codice, sarebbe:
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
quale sarebbe il .split
regex per raggruppati per più caratteri adajcent cifre, ad esempio:
var str = '12RB1N1'
=> ['12', 'R', 'B', '1', 'N', '1']
EDIT:
domanda: cosa circa la stringa "999" dovrebbe essere il risultato "27", o "9"
Se era chiaro, SUM sempre le cifre, 999
=>27
, 234
=>9
cosa circa la stringa "999" dovrebbe il risultato essere "27", o "9" –
devo usare un'espressione regolare? – Shanimal
@MarshallAnschutz hanno risposto alla tua domanda - sempre SUM le cifre – Harry