![](/img/trans.png)
[英]JavaScript how to split conjoining string on UpperCase and LowerCase Characters
[英]Javascript Split string on UpperCase Characters
JavaScript 如何通過大寫字符將字符串拆分為數組?
所以我想拆分:
'ThisIsTheStringToSplit'
進入
['This', 'Is', 'The', 'String', 'To', 'Split']
我會像這樣用.match()
做到這一點:
'ThisIsTheStringToSplit'.match(/[A-Z][a-z]+/g);
它將創建一個這樣的數組:
['This', 'Is', 'The', 'String', 'To', 'Split']
編輯:由於string.split()
方法也支持正則表達式,所以可以這樣實現
'ThisIsTheStringToSplit'.split(/(?=[A-Z])/); // positive lookahead to keep the capital letters
這也將解決評論中的問題:
"thisIsATrickyOne".split(/(?=[A-Z])/);
.match(/[A-Z][a-z]+|[0-9]+/g).join(" ")
這也應該處理數字..最后的連接會導致將所有數組項連接成一個句子,如果這就是你要找的
'ThisIsTheStringToSplit'.match(/[A-Z][a-z]+|[0-9]+/g).join(" ")
輸出
"This Is The String To Split"
給你 :)
var arr = UpperCaseArray("ThisIsTheStringToSplit");
function UpperCaseArray(input) {
var result = input.replace(/([A-Z]+)/g, ",$1").replace(/^,/, "");
return result.split(",");
}
這是我的解決方案,它快速、跨平台、不依賴編碼,並且可以輕松地用任何語言編寫而無需依賴。
var s1 = "ThisЭтотΨόυτÜimunəՕրինակPříkladדוגמאΠαράδειγμαÉlda";
s2 = s1.toLowerCase();
result="";
for(i=0; i<s1.length; i++)
{
if(s1[i]!==s2[i]) result = result +' ' +s1[i];
else result = result + s2[i];
}
result.split(' ');
這是一個處理數字、完全小寫部分和多個大寫字母的答案:
const wordRegex = /[AZ]?[az]+|[0-9]+|[AZ]+(?![az])/g; const string = 'thisIsTHEString1234toSplit'; const result = string.match(wordRegex); console.log(result)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.