¿Cómo se divide una cadena en una matriz en Javascript por el carácter UpperCase?Javascript Split string en UpperCase Characters
Así que desea dividir:
'ThisIsTheStringToSplit'
en
('This', 'Is', 'The', 'String', 'To', 'Split')
¿Cómo se divide una cadena en una matriz en Javascript por el carácter UpperCase?Javascript Split string en UpperCase Characters
Así que desea dividir:
'ThisIsTheStringToSplit'
en
('This', 'Is', 'The', 'String', 'To', 'Split')
Me gustaría hacer esto con .match()
así:
'ThisIsTheStringToSplit'.match(/[A-Z][a-z]+/g);
que hará que una serie como esta:
['This', 'Is', 'The', 'String', 'To', 'Split']
edición: ya que el método string.split()
también soporta expresiones regulares que se puede lograr como esto
'ThisIsTheStringToSplit'.split(/(?=[A-Z])/); // positive lookahead to keep the capital letters
que también va a resolver el problema de la comment:
"thisIsATrickyOne".split(/(?=[A-Z])/);
Esto no encontrará caracteres en mayúscula. Sugiero lo siguiente: '" thisIsATrickyOne ".match (/ ([A-Z]? [^ A-Z] *)/g) .slice (0, -1)' – andrewmu
Aquí está :)
var arr = UpperCaseArray("ThisIsTheStringToSplit");
function UpperCaseArray(input) {
var result = input.replace(/([A-Z]+)/g, ",$1").replace(/^,/, "");
return result.split(",");
}
Esto también se dividiría por cualquier ',' que estuviera originalmente en la cadena ... – Matt
.match(/[A-Z][a-z]+|[0-9]+/g).join(" ")
Esto debería manejar los números también ... la unión al final da como resultado la concatenación de todos los elementos de la matriz a una oración si eso es lo que busca
Esto podría terminar siendo útil para algunas personas que buscan una solución este problema: http://stackoverflow.com/a/25732260/1454888 –