gpt4 book ai didi

javascript - 将一个字符串一分为二,保持单词完整并返回它们

转载 作者:行者123 更新时间:2023-12-02 18:05:31 32 4
gpt4 key购买 nike

正如标题所说,看看我如何将一个字符串分成两部分,同时保持完整的单词完整,并使用 JavaScript 访问这两个部分。我在哈巴狗文件中使用这个字符串。

比如我有一个很长的字符串

let str = `hello i am a very long string that needs to be split into two different parts! thank you so much for helping.'

我想要前 70 个字符用作标题,然后将其余字符用作元素的主体。

我使用了我在一篇较旧的帖子中找到的这个正则表达式,它给出了前 70 多个字符,以及完整的单词...

str.replace(/^([\s\S]{70}[^\s]*)[\s\S]*/, "$1")

它做我想让它做的事!但现在我需要弄清楚是否有办法获取该字符串的其余部分?

str1 = `hello i am a very long string that needs to be split into two different`
str2 = `parts! thank you so much for helping.`

同样,在 pug 文件中使用它,所以如果有一个简单的答案,我会喜欢的。否则我想我可以只编写一个函数并将脚本导入 pug View 。

最佳答案

当拆分发生在空白字符上时,您想做什么。说; 'different' 之后的空格。这意味着空格之前的部分是 69 个字符,但如果包含空格则为 70 个。假设您想捕获下一个单词以进行良好测量,请尝试利用 JS 的零宽度后视:

(?<=^.{70}\S*)\s+

在线查看demo


  • (?<= - 打开正面回顾;
    • ^.{70} - 起始行 anchor 后 70 个字符;
    • \S* - 0+ 个非空白字符;
  • \s+ - 捕获 1 个以上的空白字符以进行拆分。

const str = 'hello i am a very long string that needs to be split into two different parts! thank you so much for helping';

const result = str.split(/(?<=^.{70}(?:\S)*)\s+/);

console.log(result);

关于javascript - 将一个字符串一分为二,保持单词完整并返回它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73370568/

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