首页 > 解决方案 > 如何获取“HTML”Javascript中每个单词的第一个字符?

问题描述

我正在尝试将“用户 10”的首字母提取为 HTM 中的 U1。我可以将第一个和最后一个提取为 U0,但我想要U1。 这就是我得到U0的方式:

 <div class="initials">
       {{ chat.name | slice:0:1 }}
       {{ chat.name.slice(-1) }}
 </div>

我需要在我的 .html 文件中执行此操作,不能在 .js/ts 中执行此操作。

我该怎么做?

标签: javascripthtmltypescript

解决方案


取决于您对单词的定义,但这一个是合理的。

[...string.matchAll(/\b\w/g)].join('')

也就是说,找到\w紧跟单词边界( )的每个单词字符( \b),将它们放入一个数组中,然后将它们连接在一起。

您应该能够直接使用此表达式,或将其实现为管道。

function initials(string) {
  return [...string.matchAll(/\b\w/g)].join('')
}

console.log(initials("User 10"))
console.log(initials("The quick brown fox jumps over the lazy dog"))
console.log(initials("Twenty-one. N_x, 4.2"))


推荐阅读