字符串密钥格式
难度:简单
描述:
给定字符串 S(非空),字符串 S 仅由字母数字字符(a-z 和/或 A-Z 和/或 0-9)和短划线( - )组成。
给定正整数 K,我们希望重新格式化字符串,使得每个组包含正好的 K 个字符,但第一个组可能比 K 短,但仍必须包含至少一个字符。
必须在两个组之间插入短划线,并且所有小写字母都应转换为大写
样例:
Input: S = “5F3Z-2e-9-w”, K = 4
Output: “5F3Z-2E9W”
Input: S = “2-5g-3-J”, K = 2
Output: “2-5G-3J”
思路分析:
处理字符串通常需要转成数组来处理,仔细观察输出和规则,总结规律。
代码:
去掉
-
,等下用join
连接。字符串长度不能被K整除的话,需取余,将不能整除的部分拿出来。
然后每隔几个
K
每割一下字符串,这里用了正则,返回一个数组。再跟之前被拿出来的部分,合并成一个数组。
用
join
将数组转成字符串。
1 | const licenseKeyFormatting = function(S, K) { |