JavaScript 中仅在字符第一次出现时拆分字符串
将 String.split()
方法与数组解构结合使用,仅在字符第一次出现时拆分字符串。
数组解构语法将字符串的两个部分捕获在单独的变量中。
const str = 'fql-jiyik-com';
const [first, ...rest] = str.split('-');
console.log(first); // 👉️ fql
console.log(rest); // 👉️ ['jiyik', 'com']
const remainder = rest.join('-');
console.log(remainder); // 👉️ jiyik-com
我们使用 String.split
方法在连字符 -
上拆分字符串。
我们使用数组解构赋值将数组的第一个元素分配给第一个变量。
rest ...
运算符用于将剩余的数组元素收集到 rest 变量中。
最后一步是使用 Array.join
方法将剩余数组与连字符分隔符连接起来。
如果我们必须经常只拆分第一次出现的字符串,请定义一个可重用的函数。
function splitFirstOccurrence(str, separator) {
const [first, ...rest] = str.split(separator);
const remainder = rest.join('-');
return {first, remainder};
}
const result = splitFirstOccurrence('fql-jiyik-com', '-');
console.log(result); // { first: 'fql', remainder: 'jiyik-com' }
console.log(result.first); // fql
console.log(result.remainder); // jiyik-com
该函数将字符串和分隔符作为参数,并仅在第一次出现分隔符时拆分字符串。
使用限制仅在字符第一次出现时拆分字符串
如果拆分后只需要获取第一部分,则将 limit 参数设置为 1。
const arr = 'fql-jiyik-com'.split('-', 1);
console.log(arr); // 👉️ [ 'fql' ]
console.log(arr[0]); // 👉️ fql
String.split
方法采用分隔符,并在每次出现所提供的分隔符时将字符串拆分为一个数组。
String.split()
方法采用以下 2 个参数:
- separator 描述每个拆分应该发生在哪里的模式。
- limit 一个整数,用于指定要包含在数组中的子字符串数的限制。
当 limit 参数设置为 1 时,数组中只包含第一次出现分隔符之前的部分。
或者,我们可以使用 slice
方法。
使用 Array.slice() 仅在字符第一次出现时拆分字符串
要仅在字符第一次出现时拆分 JavaScript 字符串,请对字符串调用 slice()
方法,将字符的索引 + 1 作为参数传递给它。
slice
方法将返回字符第一次出现后的字符串部分。
const str = 'fql-jiyik-com';
const after = str.slice(str.indexOf('-') + 1);
console.log(after); // 👉️ jiyik-com
const before = str.slice(0, str.indexOf('-'));
console.log(before); // 👉️ fql
String.slice
方法提取字符串的一部分并将其返回,而不修改原始字符串。
String.slice()
方法采用以下参数:
- start 索引 要包含在返回的子字符串中的第一个字符的索引
- end 索引 要从返回的子字符串中排除的第一个字符的索引
当只有一个参数被传递给 String.slice()
方法时,切片会到达字符串的末尾。
第一个示例显示了如何获取字符最后一次出现之后的部分。
const str = 'fql-jiyik-com';
const after = str.slice(str.indexOf('-') + 1);
console.log(after); // 👉️ jiyik-com
我们想排除指定的字符,所以我们在其索引中添加 1 以立即开始。
第二个示例显示如何获取字符第一次出现之前的部分。
const str = 'fql-jiyik-com';
const before = str.slice(0, str.indexOf('-'));
console.log(before); // 👉️ fql
切片从索引 0 开始,一直到但不包括分隔符的索引。
使用正则表达式仅在字符第一次出现时拆分字符串
我们还可以通过将正则表达式传递给 split()
,在字符第一次出现时拆分字符串。
const str = 'fql-jiyik-com';
const arr = str.split(/-(.*)/);
console.log(arr); // 👉️ [ 'fql', 'jiyik-com', '' ]
const [before, after] = arr;
console.log(before); // 👉️ fql
console.log(after); // 👉️ jiyik-com
正斜杠 //
标记正则表达式的开始和结束。
正则表达式的形式为 /{char_to_split_on}(.*)/
。
括号称为捕获组。
点 .
是一个特殊字符,匹配任何单个字符。
星号 *
字符与前面的项目(任何字符)匹配 0 次或更多次。
当我们与捕获组拆分时,匹配的结果将返回到数组中。
我们可以使用解构赋值将前两个数组元素分配给变量或访问特定索引处的数组。
const str = 'fql-jiyik-com';
const arr = str.split(/-(.*)/);
console.log(arr); // 👉️ fql
console.log(arr[0]); // 👉️ fql
console.log(arr[1]); // 👉️ jiyik-com
JavaScript 索引是从零开始的,因此数组中的第一个元素的索引为 0,最后一个元素的索引为 array.length - 1
。
相关文章
使用 CSS 和 JavaScript 制作文本闪烁
发布时间:2023/04/28 浏览次数:146 分类:CSS
-
本文提供了使用 CSS、JavaScript 和 jQuery 使文本闪烁的详细说明。
在 PHP 变量中存储 Div Id 并将其传递给 JavaScript
发布时间:2023/03/29 浏览次数:69 分类:PHP
-
本文教导将 div id 存储在 PHP 变量中并将其传递给 JavaScript 代码。
在 JavaScript 中从字符串中获取第一个字符
发布时间:2023/03/24 浏览次数:93 分类:JavaScript
-
在本文中,我们将看到如何使用 JavaScript 中的内置方法获取字符串的第一个字符。
在 JavaScript 中获取字符串的最后一个字符
发布时间:2023/03/24 浏览次数:141 分类:JavaScript
-
本教程展示了在 javascript 中获取字符串最后一个字符的方法