gpt4 book ai didi

javascript - 如何将文本拆分为 URL 数组和空格分隔的短语?

转载 作者:行者123 更新时间:2023-12-02 01:23:54 26 4
gpt4 key购买 nike

我想根据 URL 拆分文本。

所以文本就像

const text = 'hello world, testing https://stackoverflow.com/questions/ask this is prefix https://gmail.com final text'

应该给

const result = [
'hello world, testing',
'https://stackoverflow.com/questions/ask',
'this is prefix',
'https://gmail.com',
'final text'
]

基本上任何 URL 都应该分割文本,但 URL 也应该包含在内

我确实尝试了一些方法,但无法为此创建算法。

/(http|https):\/\/[a-zA-Z0-9\-.]+\.[a-zA-Z]{2,3}(\/\S*)?/

我确实尝试用这个正则表达式进行分割,但它不一致

最佳答案

您可以使用 .split 将此正则表达式与捕获组结合使用:

\s*(https?:\/\/\S+)\s*

RegEx Demo

代码:

const text = 'hello world, testing https://stackoverflow.com/questions/ask this is prefix https://gmail.com final text';

var arr = text.trim().split(/\s*(https?:\/\/\S+)\s*/);

console.log(arr);

/*
['hello world, testing',
'https://stackoverflow.com/questions/ask',
'this is prefix',
'https://gmail.com',
'final text']
*/

正则表达式的分解:

  • \s*:匹配 0 个或多个空格
  • (https?:\/\/\S+):匹配以 http://https:// 开头的任何 URL > 后跟 1 个以上非空白字符。在第 1 组中捕获此内容,以便能够在结果数组中获取此内容。
  • \s*:匹配 0 个或多个空格

关于javascript - 如何将文本拆分为 URL 数组和空格分隔的短语?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75372394/

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