如何在Javascript中删除字符串中间的单词,仅保留首尾单词?
实现方案
核心思路
- 先将目标字符串按空格分割为单词数组,支持匹配多个连续空格避免异常
- 判断数组长度:如果长度≤2直接返回原字符串;如果>2,仅取数组第一个和最后一个元素拼接为新字符串
完整代码实现
// 封装通用处理函数 function formatName(fullName) { // 提前去除首尾空格,按任意数量空格分割为单词数组 const wordArr = fullName.trim().split(/\s+/) if (wordArr.length <= 2) { return fullName } // 取首尾单词拼接,不支持Array.at的环境可以替换为wordArr[wordArr.length - 1] return `${wordArr[0]} ${wordArr.at(-1)}` } // 测试示例 var name1 = "John James" var name2 = "Jake Connor Steve" var name3 = "George" var name4 = "Michael James Jackson" // 调用处理后即可得到期望结果 name1 = formatName(name1) name2 = formatName(name2) name3 = formatName(name3) name4 = formatName(name4)
补充说明
如果需要兼容空字符串输入的场景,可以在函数开头加判断if (!fullName.trim()) return ''即可。
内容的提问来源于stack exchange,提问作者NewProgrammer
相关产品推荐
相关产品推荐

