如何在jquery中剪切字符串中的最后一个字符?

时间:2011-05-10 03:51:36

标签: javascript jquery

假设我有

  

var name =“kanishka”;

如何只剪切最后一个字符,以便输出为'a'?

我读了这个问题

  

如何从一个切割第一个字符   jquery中的字符串?

金勇,

  

在这个问题我知道的长度   字符串。你能告诉我怎么做吗?   知道字符串就可以做到这一点   长度。

无法从答案中获得帮助,请帮助

6 个答案:

答案 0 :(得分:5)

使用普通的javascript,你可以做到

name.charAt(name.length-1)

有关char http://www.w3schools.com/jsref/jsref_charat.asp

的更多信息

答案 1 :(得分:4)

Array.prototype.pop.apply(name);

^ _ ^

或者如果你想要无聊:

name.substr(name.length-1);

或:

name.split('').reverse().shift()

或:

name.split(name.substr(0, name.length-1)).pop()

或:

name.constructor.prototype.charAt.call(name.split('').reverse(), 0)

或:

var chr; name.split('').forEach(function(c){ chr=c; });

或(好吧,这些都很严重):

/.$/.exec(name)[0]

name[name.length-1];

答案 2 :(得分:2)

如果你想要“kanishka”中的“a”:

var name = "kanishka";
name = name.substring(name.length - 1);

Gratuitous live example

答案 3 :(得分:1)

name = name.substr(name.length-1,name.length);

答案 4 :(得分:1)

您的选项综合,如各种答案所示:
(请注意,这是CW答案,因为它代表社区内容)

  1. substring

    var lastChar = name.substring(name.length - 1);
    
    • 详细,但很清楚。
    • 概括地支持。

  2. substr

    var lastChar = name.substr(name.length - 1);
    
    • 详细(想得少一点),但很清楚。
    • 广泛支持的(虽然不是严格标准,并且有一些浏览器的边缘情况;请参阅注释)

  3. slice

    var lastChar = name.slice(-1);
    
    • 简明扼要,一旦你习惯了成语,就明白了,但不清楚非l33t c0d3rz。
    • 概括地支持。
    • 在大多数浏览器(但不是全部)上趋于变慢或变慢。

  4. charAt

    var lastChar = name.charAt(name.length - 1);
    
    • 详细,但非常清除。
    • 概括地支持。
    • 在大多数浏览器上最快(或与[]最快结合)(通常是公平的)。

  5. []

    var lastChar = name[name.length - 1];
    
    • 简洁明了。
    • IE7及更早版本
    • 不支持
    • 在大多数浏览器上最快(或与charAt最快结合)(通常是公平的)。
  6. (由于尊重cwolves的飞行方式,我坚持主流,就像我无聊的笨蛋一样。)

    Gratuitous jsperf test

    你应该使用哪个?这完全取决于你。请注意,上面的所有选项都非常快,在99.999%的实际案例中,此操作的速度实际上非常重要的可能性非常低。

答案 5 :(得分:0)

一种简洁,简洁,跨浏览器的方式

name.slice(-1);