2016-11-10 97 views
0

如何在包含使用lodash之前的短劃線的字符串末尾獲取最後的整數?獲取匹配模式與lodash的字符串的結尾

'hello-world-bye-945' 

所以最終結果只是-945

+0

它是否必須與'lodash'?純正則表達式或香草js會做.. – choz

+2

'' - '+'你好 - 世界再見 - 945'.split(' - ')。pop()' – Andreas

+0

@choz nope,香草js也可以接受。 – calebo

回答

0

使用JavaScript String#match方法

console.log(
 
    'hello-world-bye-945'.match(/-\d+$/)[0] 
 
)

0

s = 'hello-world-bye-945'.split('-'); 
 
ans="-"+s[s.length-1] 
 
console.log(ans);

1

您可以使用_.words

E.g

var str1 = 'hello-world-bye-945'; 
var str2 = 'hello-world-bye'; 
var pattern = /-(\d+)$/; 

_.words(str1, pattern)[0] 
// Returns "-945" 

_.words(str2, pattern)[0] 
// Returns "undefined" 
1

您可以使用String.prototype.lastIndexOf()String.prototype.slice()

var str = "hello-world-bye-945"; 
 
var match = str.slice(str.lastIndexOf("-")); 
 
console.log(match);

0

嘗試這種模式

-[0-9A-z$&+,:;[email protected]#|'<>.^*()%!]+$ 

[0-9A-z $ & +,:; =?@#|' <>^*()%!]在列表中匹配任何字符

「+」比賽時間無限

$斷言位置在字符串的結尾,或在年底的行終止權之前字符串(如果有的話)

+0

_last integer(s)_。作者不需要使用那種怪異的模式。 –

相關問題