gpt4 book ai didi

javascript - 在句号处拆分文本结尾会创建空字符串

转载 作者:行者123 更新时间:2023-11-29 20:51:28 24 4
gpt4 key购买 nike

给定以下文本

var text="unicorns! and rainbows? and, cupcakes.Hello this is splitting by sentences. However, I am not sure.";

我想在每个句点拆分,句子末尾有一个句点,它把它拆分成一个空字符串,如图所示。

(4) ["unicorns! and rainbows? and, cupcakes", "Hello this is splitting by sentences", " However, I am not sure", ""]

使用 .但考虑到文本的结尾?

最佳答案

您可以使用 .filter(Boolean) 去除任何空字符串,如下所示:

var text="unicorns! and rainbows? and, cupcakes.Hello this is splitting by sentences. However, I am not sure.";
var splitText = text.split(".");
var nonEmpty = splitText.filter(Boolean);
// var condensed = text.split(".").filter(Boolean);
console.log(nonEmpty);

这似乎是一种奇怪的方法,但它很简单/高效,而且这个概念是这样工作的:

var arr = ["foo", "bar", "", "baz", ""];
var nonEmpty = arr.filter(function (str) {
return Boolean(str);
});

这使用强制的力量来确定字符串是否为空。实际上,将强制转换为 false 的字符串的唯一值是一个空字符串 ""。所有其他字符串值将强制为 true。这就是为什么我们可以使用 bool 构造函数来检查字符串是否为空。

此外,如果你想去掉每个句子的前导/尾随空格,你可以使用 .trim() 方法,如下所示:

var text="unicorns! and rainbows? and, cupcakes.Hello this is splitting by sentences. However, I am not sure.";
var nonEmpty = text.split(".").filter(Boolean).map(str => str.trim());
console.log(nonEmpty);

关于javascript - 在句号处拆分文本结尾会创建空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51662845/

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