题解 | #表示数字#
表示数字
https://www.nowcoder.com/practice/637062df51674de8ba464e792d1a0ac6
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void (async function () {
// Write your code here
while ((line = await readline())) {
function isNum(s) {
s = String(s);
if (s.charCodeAt(0) <= 57 && s.charCodeAt(0) >= 48) {
return true;
}
return false;
}
// var line = 'Jkdi234klowe90a3';
var arr = line.split("");
var flag = isNum(line.charAt(0)); //flag = true表示在当前字符之前的连续字符是数字
for (var i = 1; i < arr.length; i++) {
var c = arr[i];
if (isNum(c) && flag == false) {
arr.splice(i, 0, "*");
flag = true; //进入数字序列
} else if (!isNum(c) && flag == true) {
arr.splice(i, 0, "*");
flag = false; //进入字母序列
}
}
//如果首尾是数字,补*
if (isNum(arr[0])) arr.splice(0, 0, "*");
if (isNum(arr[arr.length - 1])) arr.push("*");
console.log(arr.join(""));
}
})();
