在600长度之后检查最接近的点(“.”),然后删除该点之后的所有文本

After 600 length check for closest dot(".") and then remove all text after the dot

本文关键字:之后 然后 删除 文本 检查 最接近      更新时间:2023-09-26

我要做的是,只有在文本超过600的长度后,才删除最近点(".")之后的所有文本。假设div标签的文本长度为5432,我希望它只显示600文本长度后最近点(".")之前的文本。

以下是我迄今为止所做的工作。

JSFiddle

感谢任何形式的帮助

使用.indexOf().可以简化代码

要获得字符串的一部分,可以使用.substring()或.substr().

var string = $('#object-full-description').text().trim();
var place = string.indexOf('.', 600);
if (place >= 0)
{
    $('#object-full-description').text(string.substring(0, place));
}

更新的小提琴。

更新。为了保存HTML结构,您可以使用.HTML()而不是.text():

var string = $('#object-full-description').html();
var place = string.indexOf('.', 600);
if (place >= 0)
{
    $('#object-full-description').html(string.substring(0, place));
}

更新的小提琴。

var stuff = $('#object-full-description').text().trim();
char = stuff.replace(/^([^]{600}[^.]*'.)[^]*$/, "$1");
console.log(stuff);

丽晶的密码也很优雅。

短一点,+1,所以(".")也在那里。。。

$('#object-full-description').html(function(i,t){
    var cut = t.indexOf(".", 600);
    return t.substring(0, cut + 1);
});