【问题标题】:Get word #n in javascript string在javascript字符串中获取单词#n
【发布时间】:2011-03-18 15:04:29
【问题描述】:

如何使用 javascript 在字符串中获取单词 # n。 IE。如果我想在“Pumpkin pie and ice cream”中获得单词#3,我想要返回“and”。是否有一些小功能可以做到这一点,或者有人可以写一个吗?谢谢!

【问题讨论】:

    标签: javascript string words


    【解决方案1】:

    使用string.split()方法在“”字符上分割字符串,然后返回数组的第n-1个元素(这个例子不包括任何边界检查,所以要小心):

    var getNthWord = function(string, n){
        var words = string.split(" ");
        return words[n-1];
    }
    

    【讨论】:

    • 我怎样才能知道最后一句话?
    • 更好,string.split()
    • @Leticia Meyer - 您将返回 words[words.length - 1],而不是返回 words[n-1]。不过我开始怀疑……这是作业吗?
    • @Šime:我明白,只是您在该语句之后从未使用 n 的值,所以在我看来,调用 words[n-1] 而不是 @987654326 更有意义@
    • @Šime:它们不等价,n 的值被改变了,这是一个不需要的副作用,因为 n 代表要获取的单词的数量,所以它没有语义意义减少变量。你所说的更简单,更短,但并不简单。
    【解决方案2】:

    我认为您可以根据空间拆分字符串,获取数组,然后从索引 n-1 中查找值。

    var myStr = "Pumpkin pie and ice cream";
    var strArr = myStr.split(String.fromCharCode(32)) //ascii code for space is 32.
    
    var requiredWord = strArr[n-1];
    var firstWord = strArr[0];
    var lastWord = strArr[ strArr.length - 1 ];
    

    当然,错误处理留给你。

    【讨论】:

    • 请举例?我是 javascript 的菜鸟。
    • 另外,我如何获得第一个和最后一个单词?
    • @LeticiaMeyer: alert("Pumkin pie and ice cream".split(' ')[2]); && var s = "Pumpkin pie and ice cream".split(' '); alert(s[0]+','+s[s.length-1]);
    • @Leticia Meyer - 编辑得到你的第一个和最后一个字
    【解决方案3】:

    使用 split 函数将单个单词放入列表中,然后只抓取索引 n - 1 中的单词。

    var sentence = "Pumpkin pie and ice cream";
    var words[] = sentence.split(" ");
    print words[2]; // if you want word 3, since indexes go from 0 to n-1, rather than 1 to n.
    

    【讨论】:

      【解决方案4】:

      一个非常简单的解决方案是:

      var str = "Pumpkin pie and ice cream"; //your string
      var word = 3; //word number
      var word = str.split(" ")[word - 1];
      

      但是,这不考虑其他空格(制表符、换行符...)或句点和逗号。

      【讨论】:

        【解决方案5】:

        或者使用非基于单词的拆分:“test,test2 test3”.split(/\W/) 会产生:[test,test2,test3]。

        【讨论】:

        • 是的,但是'foo, bar' 会产生['foo', '', 'bar']
        猜你喜欢
        • 2022-08-02
        • 2022-08-17
        • 1970-01-01
        • 2019-12-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-13
        • 1970-01-01
        相关资源
        最近更新 更多