如何使用REGEXP就地在字符串中反转这些单词?

时间:2018-03-19 22:10:58

标签: javascript arrays tree hashtable

https://resources.azure.com/

问题是这样的,下面是我的解决方案,但它不适用于“。”。有人有想法吗?

    function wordReverse(str) {

        var words = str.split(/\s+/);
        var result = "";
        console.log(words);
        for (var i = 0; i < words.length; i++) {
            result += words[i].split('').reverse().join('')+" ";
        }
        return result;
    }

1 个答案:

答案 0 :(得分:2)

您可以String.replace()使用RegExp匹配所有非空格或句点的字符,并使用回调选项仅反转字母序列:

&#13;
&#13;
var str = 'abc  Gómez   bcd.efg';

function wordReverse(str) {
  return str.replace(/[^\s.]+/g, function(m) {
    return m.split('').reverse().join('');
  });
}

console.log(wordReverse(str));
&#13;
&#13;
&#13;