在第二秒之后从字符串中删除所有内容-用Javascript中的一行

时间:2019-02-11 09:40:21

标签: javascript node.js regex

我想确保始终从字符串中提取语言,仅在第二个破折号(-)之前

所以

en-AU-Option-A

成为

en-AU

使用一行Javascript可以做到吗?

4 个答案:

答案 0 :(得分:0)

当然可以。这不使用正则表达式。

let mystr = 'en-AU-Option-A'

console.log(mystr.split('-').slice(0, 2).join('-'))

答案 1 :(得分:0)

这是一个正则表达式解决方案

var regex = /^([a-z]+|[A-Z]+)\-([a-z]+|[A-Z]+)/g;
var str = 'en-AU-Option-A';

console.log(str.match(regex)) // ["en-AU"]

答案 2 :(得分:0)

Split使用第二个参数指定否。所需元素。因此,在这种情况下,您可以指定2,它将拆分为第二个-,然后加入-

let str = `en-AU-Option-A`

console.log(str.split('-',2).join('-'))

答案 3 :(得分:0)

尝试一下:

var patt = /[^-]*-[^-]*/ig ;
console.log( patt.exec( 'en-AU-Option-A' )[0] )