如何获取/删除字符串和char之前从对象

How to get/remove string and the char before from object?

本文关键字:char 对象 字符串 删除 何获取 获取      更新时间:2023-09-26

我有这个photosject,它是某个隐藏输入的value

53bd570ba13ef.jpg,53bd570c964c3.jpg,53bd570d311c9.jpg,53bd570db8997.jpg

我需要的是删除最后一个字符串witch number和逗号前:,53bd570db8997.jpg

var dataInput = $('#images'),
    imgs = dataInput.val(),
    thumbIndex = $(this).parent().index();
//
var _result = imgs.split(',')[thumbIndex];
//
var name = _result.slice(0, _result.indexOf(","));
console.log(name);

thumbIndex是我的照片号码/名字,没有逗号:53bd570db8997.jpg。有人能帮忙吗?

如果我没理解错的话,我就把它正则化:

imgs.replace(new RegExp("," + thumbIndex),"");

imgs应为您在上面发布的字符串(逗号分隔的字符串)。

如果你确定thumbIndex包含最后一个文件名,你可以这样做:

var data = '53bd570ba13ef.jpg,53bd570c964c3.jpg,53bd570d311c9.jpg,53bd570db8997.jpg'; // or $('#images').val()
var thumbIndex = '53bd570db8997.jpg';
var result = data.substr(0, data.indexOf(thumbIndex) - 1);

也许你可以更详细地说明你想要达到的目标,但我将尝试理解你的问题,并尝试给你一个解决方案。

据我所知,您希望从由','字符分隔的值字符串中获得最后一个元素。

当然可以拆分字符串,直接从数组中获取最后一个元素。

var dataInput = $('#images');
var imgs      = dataInput.val();
var _result   = imgs.split(',');
var thumbnail = _result[_result.length - 1];
console.log(thumbnail);

这里有一个可以尝试的JSFiddle: http://jsfiddle.net/WBb5F/1/

如果我猜对了,你可以试试lastIndexOf()

var result = data.substr(0, data.indexOf(','));

小提琴

使用此html

<input type="hidden" value="53bd570ba13ef.jpg,53bd570c964c3.jpg,53bd570d311c9.jpg,53bd570db8997.jpg" id="images" />

要获取最后一项,可以这样做:

var dataInput = $('#images'),
    imgs = dataInput.val(),
    thumbIndex = imgs.split(',').length;
var name = imgs.split(',')[thumbIndex - 1]
console.log(','+ name);