如何从最后一次看到javascript中的特定characer后的字符串中获取子字符串?

时间:2016-09-04 16:49:18

标签: javascript string substring

我想从最后一个索引匹配空间的字符串中获取子字符串并将其放入另一个字符串中:

例如,

如果我有:var string1="hello any body from me";

在string1中的

我有4个空格,我想在string1中的最后一个空格后得到这个词,所以在这里我想得到这个词" me" ... 我不知道string1中的空格数...所以我怎样才能从字符串中获取子字符串,最后看到像空格一样的特定字符串?

5 个答案:

答案 0 :(得分:1)

您可以使用split方法尝试这样的方法,其中input是您的字符串:

var splitted = input.split(' ');
var s = splitted[splitted.length-1];

var splitted = "hello any body from me".split(' ');
var s = splitted[splitted.length-1];
console.log(s);

答案 1 :(得分:1)

使用split使其成为一个数组并获取最后一个元素:

var arr = st.split(" "); // where string1 is st
var result = arr[arr.length-1];
console.log(result);

答案 2 :(得分:1)

您可以使用split方法将字符串拆分给定的分隔符,在这种情况下为“”,然后获取返回数组的最终子字符串。

如果你想使用字符串的其他部分并且它也易于阅读,这是一个很好的方法:

// setup your string
var string1 = "hello any body from me";

// split your string into an array of substrings with the " " separator
var splitString = string1.split(" ");

// get the last substring from the array
var lastSubstr = splitString[splitString.length - 1];

// this will log "me"
console.log(lastSubstr);

// ...

// oh i now actually also need the first part of the string
// i still have my splitString variable so i can use this again!

// this will log "hello"
console.log(splitString[0]);

如果您喜欢快速而又脏的话,这是一个不需要其余子串的好方法:

// setup your string
var string1 = "hello any body from me";

// split your string into an array of substrings with the " " separator, reverse it, and then select the first substring
var lastSubstr = string1.split(" ").reverse()[0];

// this will log "me"
console.log(lastSubstr);

答案 3 :(得分:1)

或者只是:

UIView.animateKeyframesWithDuration(
    1.0, delay: 0, options: [.Autoreverse, .Repeat],
    animations: {
        UIView.addKeyframeWithRelativeStartTime(0.0, relativeDuration: 0.5, animations: {
            self.button2.alpha = 1.0
        })

        UIView.addKeyframeWithRelativeStartTime(0.5, relativeDuration: 0.5, animations: {
            self.button2.alpha = 0.0
        })
    }, completion: nil)

感谢反向方法

答案 4 :(得分:1)

我使用正则表达式来避免数组开销:

var string1 = "hello any body from me";
var matches = /\s(\S*)$/.exec(string1);
if (matches)
    console.log(matches[1]);