我期望的字符串是比如你好helloword123好啊,得到的结果是nhhelloword123只是中文汉字得到小写首字母,其他不是汉字的位置不变
时间: 2025-01-01 13:35:32 浏览: 8
理解了,你可以稍微修改一下之前的`convertToInitials`函数,只对汉字部分提取首字母并转换为小写。以下是修改后的版本:
```javascript
const pinyin = require('pinyin');
function extractChineseInitials(str) {
const chineseChars = [];
let currentWord = '';
for (let i = 0; i < str.length; i++) {
const char = str.charAt(i);
if (/\u4e00-\u9fff/.test(char)) { // 检查是否是汉字
currentWord += char.toLowerCase();
chineseChars.push(currentWord[0]); // 只保存首字母
currentWord = '';
} else {
currentWord += char;
}
}
if (currentWord) { // 处理最后一个单词可能不以汉字结束的情况
chineseChars.push(currentWord[0]);
}
return chineseChars.join('');
}
let inputString = "你好,helloword123好啊";
console.log(extractChineseInitials(inputString)); // 输出: 'nhhelloword123'
阅读全文