迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

使用 JavaScript 从字符串中删除最后一个单词

作者:迹忆客 最近更新:2022/12/18 浏览次数:

要从字符串中删除最后一个单词,请使用 lastIndexOf() 方法获取字符串中最后一个空格的索引。 然后使用 substring() 方法获取删除最后一个单词的字符串的一部分。

function removeLastWord(str) {
  const lastIndexOfSpace = str.lastIndexOf(' ');

  if (lastIndexOfSpace === -1) {
    return str;
  }

  return str.substring(0, lastIndexOfSpace);
}

console.log(removeLastWord('Hello World')); // 👉️ Hello
console.log(removeLastWord('hello')); // 👉️ hello
console.log(removeLastWord('one two three')); // 👉️ one two

JavaScript 从字符串中删除最后一个单词

我们创建了一个可重用的函数来从字符串中删除最后一个单词。

我们做的第一件事是使用 String.lastIndexOf 方法获取字符串中最后一个空格的索引。

lastIndexOf 方法返回字符串中子字符串最后一次出现的索引。 如果子字符串不包含在字符串中,则该方法返回 -1。

为了涵盖字符串仅包含单个单词(无空格)的情况,我们检查 lastIndexOf 方法是否返回 -1,如果是,我们返回字符串,而不删除任何单词。

如果要去掉单词,即使字符串只包含一个单词,也可以去掉if语句。

function removeLastWord(str) {
  const lastIndexOfSpace = str.lastIndexOf(' ');

  // 👇️ remove this if you want to delete single words too
  // if (lastIndexOfSpace === -1) {
  //   return str;
  // }

  return str.substring(0, lastIndexOfSpace);
}

最后一步是使用 String.substring 方法获取字符串中没有最后一个单词的部分。

我们将以下参数传递给 substring 方法:

  • start 索引 - 要包含在新字符串中的第一个字符的索引
  • stop 索引 - 上升到但不包括该索引

我们基本上得到了一个没有原始字符串的最后一个空格和单词的新字符串。

另一种方法是使用 slicejoin 方法。

从字符串中删除最后一个单词:

  1. 对字符串调用 split() 方法以获取包含字符串中单词的数组。
  2. 使用 slice() 方法获取删除最后一个单词的数组的一部分。
  3. 调用 join() 方法将数组连接成一个字符串。
function removeLastWord(str) {
  const words = str.split(' ');

  if (words.length === 1) {
    return str;
  }

  return words.slice(0, -1).join(' ');
}

console.log(removeLastWord('Hello World')); // 👉️ Hello
console.log(removeLastWord('hello')); // 👉️ hello
console.log(removeLastWord('one two three')); // 👉️ one two

我们在每个空格上拆分字符串以获得包含字符串中单词的数组。

// 👇️ ['hello', 'world']
console.log('hello world'.split(' '))

我们还检查字符串是否包含 1 个或 0 个单词,如果包含则返回。

然后我们使用 Array.slice 方法获取数组中最后一个单词被省略的部分。

我们将以下参数传递给 slice 方法:

  • start 索引 - 开始提取的索引(从零开始)。
  • stop 索引 - 提取值直到但不包括该索引。 负索引表示距数组末尾的偏移量。

负索引 -1 表示向上但不包括数组的最后一个元素(单词)。

最后一步是使用 Array.join 方法将数组连接成一个字符串。

join 方法采用的参数是一个分隔符,就像 split 方法一样,所以我们再次传递一个空格作为分隔符。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便