![](/img/trans.png)
[英]Regular Expression: Convert a numeric string from camelCase to regular
[英]Regular Expression to get the last word from TitleCase, camelCase
我正在嘗試使用javascript將TitleCase(或camelCase)字符串分成兩個部分。 我知道我可以使用前瞻將它分成多個部分:
"StringToSplit".split(/(?=[A-Z])/);
它將創建一個數組['String', 'To', 'Split']
但我需要的是將它分成兩個部分,以產生這樣的數組:
['StringTo', 'Split']
其中第二個元素始終是TitleCase中的最后一個單詞,第一個元素是其前面的所有其他元素。
這是你想要的 ?
"StringToSplit".split(/(?=[A-Z][a-z]+$)/); // ["StringTo", "Split"]
改進基於lolol答案:
"StringToSplit".split(/(?=[A-Z][^A-Z]+$)/); // ["StringTo", "Split"]
像這樣使用它:
s = "StringToSplit";
last = s.replace(/^.*?([A-Z][a-z]+)(?=$)/, '$1'); // Split
first = s.replace(last, ''); // StringTo
tok = [first, last]; // ["StringTo", "Split"]
你可以用
(function(){
return [this.slice(0,this.length-1).join(''), this[this.length-1]];
}).call("StringToSplit".split(/(?=[A-Z])/));
//=> ["StringTo", "Split"]
換一種說法:
String
split
來創建Array
slice
那的Array
,而不該的最后一個元素Array
Array
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.