javascript - 如何创建一个提取不同长度字符串的中间到末尾的函数?

标签 javascript string function spacing

我正在尝试创建一个在“航类”和“###”之间添加空格的函数,但希望在航类号大于 3 位的情况下使其正常工作。我知道我可以使切片方法的第二部分成为一个巨大的数字,并且它在技术上是可行的,但我认为应该有一种更优雅的方法。任何帮助将不胜感激,谢谢!

const addSpace = function (str) {
      const flightNumber = str.slice(6, 9);
      return [str.slice(0, 6) + ' ' + flightNumber]
    }
    
    console.log(...addSpace('flight843'));

最佳答案

作为 flight 字符串将始终存在。我们可以通过使用 String.replace() 来简单地实现这一点方法。我还在 jsbench 中进行了性能测试,它是这里提到的所有解决方案中运行速度最快的。

现场演示:

const addSpace = function (str) {
  const len = str.replace('flight', '').length;
  return len > 3 ? str.replace('flight', 'flight ') : str
}

console.log(addSpace('flight843')); // 'flight843'
console.log(addSpace('flight8432')); // 'flight 8432'

关于javascript - 如何创建一个提取不同长度字符串的中间到末尾的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72972511/

相关文章:

javascript - 使用带有下划线的 lodash

javascript - YouTube API - 动态添加事件监听器

javascript - 绑定(bind)不适用于用户实例

mysql - 在 MySQL 中删除 400 个字符或 10 个句子后的字符串

javascript - 为什么我在 Javascript 中从日期开始的小时数是错误的?

javascript - 如何在 Javascript 中创建全局变量函数

function - 在类型中存储函数

javascript - 在指令中使用 Controller 属性/方法

c# - C# 中 Substring 的意外行为

c++ - 一个 lambda 的返回类型可以通过返回值来推断,那么为什么不能是一个函数呢?