gpt4 book ai didi

javascript - 字符串中每个单词的首字母和标点符号

转载 作者:行者123 更新时间:2023-12-05 00:25:52 24 4
gpt4 key购买 nike

输入:Aliquam ipsum ex, tempus ornare semper ac, varius vitae nibh.输出:A i e, t o s a, v v n.我需要一个javascript函数来解决这个问题。
我正在尝试这样的事情:

function short_verse(verse) {
let result = [];

verse.split(' ').map(word => word.charAt(0) != '' ? result.push(word.charAt(0)) : '');

return result.join(" ");
}

let input = "Aliquam ipsum ex, tempus ornare semper ac, varius vitae nibh.",
output = short_verse(input);

console.log(output);

故事:他们说你可以这样内存文本。 :) 所以,我创建了一个包含此功能的应用程序。
它也应该适用于非 ascii 字符。例子:
输入: Aliqușam țipsum ex, tempăs ornâre semper ac, varius vitae îbh.输出: A ț e, t o s a, v v î注意:在我的情况下,罗马尼亚变音符号就足够了 - ăaîşțĂÂÎȘȚ。

最佳答案

如果您只使用单词字符,您可以保留第一个字符并删除其余的单词字符。\B匹配非单词边界和\w+匹配 1 个或多个单词字符:

const s = "Aliquam ipsum ex, tempus ornare semper ac, varius vitae nibh.";
console.log(s.replace(/\B\w+/g, ""));

对于更新后的问题,您可以捕获除任何字母或空格字符之外的前导字符,后跟一个字母。遵循应删除的可选字母,并在替换中使用捕获组 1。
([^\p{L}\s]*\p{L})\p{L}*
请参阅此 regex demo 中的正则表达式匹配.

[
"Dumnezeu a zis: „Să fie o întindere între ape, și ea să despartă apele de ape.”",
"Aliqușam țipsum ex, tempăs ornâre semper ac, varius vitae îbh.",
"Aliquam ipsum ex, tempus ornare semper ac, varius vitae nibh."
].forEach(s =>
console.log(s.replace(/([^\p{L}\s]*\p{L})\p{L}*/gu, "$1"))
)

关于javascript - 字符串中每个单词的首字母和标点符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71901177/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com