首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >删除某个字符后面的所有内容

删除某个字符后面的所有内容
EN

Stack Overflow用户
提问于 2011-04-12 14:47:07
回答 8查看 456.1K关注 0票数 362

有没有一种方法可以删除某个字符之后的所有内容,或者只选择该字符之前的所有内容?我从href中获取值,直到"?",并且它总是会有不同数量的字符。

像这样

代码语言:javascript
复制
/Controller/Action?id=11112&value=4444

我希望href仅为/Controller/Action,所以我想删除"?“后面的所有内容。

我现在使用的是:

代码语言:javascript
复制
 $('.Delete').click(function (e) {
     e.preventDefault();

     var id = $(this).parents('tr:first').attr('id');                
     var url = $(this).attr('href');

     console.log(url);
 }
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-04-12 15:02:46

您还可以使用split()函数。这似乎是我想到的最简单的一个:)。

代码语言:javascript
复制
url.split('?')[0]

jsFiddle Demo

一个优点是,即使字符串中没有?,此方法也可以工作-它将返回整个字符串。

票数 463
EN

Stack Overflow用户

发布于 2011-04-12 14:52:47

代码语言:javascript
复制
var s = '/Controller/Action?id=11112&value=4444';
s = s.substring(0, s.indexOf('?'));
document.write(s);

Sample here

我还应该提到,原生字符串函数比正则表达式快得多,正则表达式应该只在必要时使用(这不是其中的一种情况)。

更新代码以说明没有'?':

代码语言:javascript
复制
var s = '/Controller/Action';
var n = s.indexOf('?');
s = s.substring(0, n != -1 ? n : s.length);
document.write(s);

Sample here

票数 510
EN

Stack Overflow用户

发布于 2011-04-12 14:53:52

代码语言:javascript
复制
var href = "/Controller/Action?id=11112&value=4444";
href = href.replace(/\?.*/,'');
href ; //# => /Controller/Action

如果它找到一个'?‘,它就会工作。如果它不能

票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5631384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档