如何在jQuery中子字符串


115

如何在客户端使用jquery来对“ nameGorge”进行子字符串删除并删除“ name”,使其仅输出“ Gorge”?

var name = "nameGorge"; //output Gorge

15
jQuery是一个用JavaScript编写的库。它在JavaScript之上使用。您所要询问的内容完全可以使用JavaScript完成,而无需使用jQuery库。
杰夫

1
jQuery IS JavaScript(确切的说是JavaScript库,但是有JavaScript)。话虽这么说,我认为使用jQuery来获取子字符串不会比直接使用JavaScript编写起来容易。
VoidKing

Answers:


235

无需jQuery!只需使用substring方法:

var gorge = name.substring(4);

或者,如果您要删除的文本不是静态的:

var name = 'nameGorge';
var toRemove = 'name';
var gorge = name.replace(toRemove,'');

5
抱歉,没想到我入睡后会这么大。我已经在这里整理了一些东西。同时,有人需要读这篇
BoltClock

嘿BoltClock:您最近好吗?我要在这里证明一个观点,非常感谢..这意味着,如果我要为客户修改代码,而我来这里是寻找答案,而操作员的带标记的答案对他来说是令人满意的。 。那么我不能简单地发布相同的问题,也不能给出我的问题的示例..非常有趣..所以我的问题就像这些人如何确定,如果我正在运行jQuery函数并在内部使用.split,引用本机JS方式或某种隧道或代理以通过jQuery触发它。另外,如果您阅读了该问题。
Jean Paul AKA el_vete 2013年

我的意思是,对我来说,它是在jQuery名称空间中工作的,如果是直接从JS调用string.split,我真的不在乎,但是从社区中我了解到,如果我发布这个确切的问题,它会被标记为“缩小”,因为该响应比在我某处有jQuery.split文档参考的事实更容易接受,至少告诉我,这应该是因为它在那里而不会给我的代码和所有jQuery造成任何冲突可以在删除的图片上看到的插件...所以再次感谢
Jean Paul AKA el_vete 2013年

5
@JeanPaul-jQuery没有split()。我们已经讨论过了。您链接到先前使用的text()的这两篇文章都获得了一个普通的JavaScript字符串,然后将其称为string.split()。在这种情况下,您完全是错误的。算了吧。
Justin Niessner

52

使用.split()。(第二个版本在Array上使用.slice().join()。)

var result = name.split('name')[1];
var result = name.split('name').slice( 1 ).join(''); // May be a little safer

使用.replace()

var result = name.replace('name','');

使用.slice()上的绳子。

var result = name.slice( 4 );

jQuery不支持替换。这是Vanilla js
Jude


9

那只是普通的JavaScript:see substringsubstr


1
或确实如此slice()。奇怪的JS应该有这么多种方式来表达同一件事,但都各有千秋。slice()是我的首选方法,因为它与slice()数组上的行为一致,并且允许从起始到结束的索引为负。
bobince 2010年

@bobince:是的,我从来不记得其中的substringsubstr带长度参数并呈结束索引-我总是需要查找的文档来了解一下。
卡萨布兰卡2010年

4

您不需要jquery就能做到这一点。

var placeHolder="name";
var res=name.substr(name.indexOf(placeHolder) + placeHolder.length);

我需要在客户端执行此操作,并且已经有了jquery。那你在暗示什么?对不起这个简单的问题,但是我是js和jquery的初学者。
峡谷

该声明将返回“nameGorge”,因为的indexOf(“名字”)将返回0
贾斯汀Niessner

2
var name = "nameGorge";
name.match(/[A-Z].*/)[0]

0

是的,您可以,尽管它依赖于Javascript的固有功能,而不是jQuery库。

http://www.w3schools.com/jsref/jsref_substr.aspsubstr函数将允许您提取字符串的某些部分。

现在,如果您要查找特定的字符串或字符以查找要​​提取的字符串的哪一部分,则也可以使用indexOf函数。 http://www.w3schools.com/jsref/jsref_IndexOf.asp

这个问题有些含糊。即使只是链接带有“名称”的文本也可以达到预期的效果。确切地,获得子字符串的条件是什么?


1
为什么要strpos在有关JavaScript的问题中链接到PHP的功能?
卡萨布兰卡2010年

您是对的,今天对我来说太多了。我用适当的JS对等物进行了编辑。感谢您抓住它。
aaronofleonard,2010年

-1

接下来呢?

<script charset='utf-8' type='text/javascript'>
  jQuery(function($) { var a=$; a.noConflict();
    //assumming that you are using an input text 
    //  element with the text "nameGorge"
    var itext_target = a("input[type='text']:contains('nameGorge')");
    //gives the second part of the split which is 'Gorge'
    itext_target.html().split("nameGorge")[1];
    ...
  });
</script>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.