[英]Plain Javascript Split String UPPER from lower case
我正在嘗試在Javascript(ES5)中拆分包含大寫部分+小寫部分的字符串。 字符串始終看起來像“ UPPERlower”。
這是我目前使用的
"ABCabc".match(/^[A-Z]+/g).concat("ABCabc".match(/[a-z]+$/g)) //result is ["ABC", "abc"]
有沒有更干凈的代碼可以實現這一目標?
編輯:Ori Drori的答案和mplungjan的答案都是正確的我的問題。
您可以使用|
匹配大寫或小寫序列:
var result = "ABCabc".match(/[AZ]+|[az]+/g) console.log(result);
銷毀是現代方式
const s="UPPERlower"; let [,upper, lower] =/([AZ]+)([az]+)/g.exec(s); console.log(upper,lower);
循環-注意: RegExp的exec()函數和String的match()函數之間有什么區別?
const s = "UPPERlower UPlow 123 lowUP UPPlowe"; // Note:above will produce low UP using .match(/[AZ]+|[az]+/g) instead of capturing const re = /([AZ]+)([az]+)/g; while (match = re.exec(s)) { [, upper, lower] = match; console.log(upper, lower) }
較舊的方法:
var parts=/([AZ]+)([az]+)/g.exec("UPPERlower"); console.log(parts[1],parts[2]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.