我将有一个长度不超过 8 个字符的字符串,例如:
// represented as array to demonstrate multiple examples
var strs = [
'11111111',
'1RBN4',
'12B5'
]
通过函数运行时,我希望将所有数字字符相加以返回最终字符串:
var strsAfterFunction = [
'8',
'1RBN4',
'3B5'
]
您可以看到1
第一个字符串中的所有 8 个单个字符都以单个字符串8
结尾,第二个字符串保持不变,因为在任何时候都没有相邻的数字字符,第三个字符串随着1
和2
字符变为 a3
和其余字符而变化字符串不变。
我相信用伪代码做到这一点的最好方法是:
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
由多个相邻数字字符分割的正则表达式是什么,例如:
var str = '12RB1N1'
=> ['12', 'R', 'B', '1', 'N', '1']
编辑:
问题:字符串“999”的结果应该是“27”还是“9”呢?
如果很清楚,请始终对数字求和,999
=> 27
,234
=>9