define - javascript string substring
StringUtils en javascript (4)
Estoy buscando una biblioteca js como StringUtils de commons-lang en java, que contiene muchos métodos comunes para operar cadenas.
Como:
- IsEmpty / IsBlank - comprueba si una cadena contiene texto
- Recortar / Franja: elimina los espacios en blanco iniciales y finales
- Igual a - compara dos cadenas null-safe
- startsWith: verifica si una cadena comienza con un prefijo null-safe
- endsWith - verifica si una cadena termina con un sufijo nulo-seguro
- IndexOf / LastIndexOf / Contains - verificaciones de índice de seguridad nulas
- IndexOfAny / LastIndexOfAny / IndexOfAnyBut / LastIndexOfAnyBut - índice de cualquiera de un conjunto de cadenas
- ContainsOnly / ContainsNone / ContainsAny - does String contiene solo / ninguno / cualquiera de estos caracteres
- Substring / Left / Right / Mid - extracciones de subcadenas seguras nulas
- SubstringBefore / SubstringAfter / SubstringBetween - extracción de subcadenas en relación con otras cadenas
- Dividir / unir: divide una cadena en una serie de subcadenas y viceversa
- Eliminar / Eliminar: elimina parte de una cadena
- Reemplazar / Superponer: busca una cadena y reemplaza una cadena por otra
- Chomp / Chop - elimina la última parte de una cadena
- LeftPad / RightPad / Center / Repeat - rellena una cadena
- UpperCase / LowerCase / SwapCase / Capitalize / Uncapitalize - cambia el caso de una cadena
- CountMatches: cuenta el número de apariciones de una cadena en otra
- IsAlpha / IsNumeric / IsWhitespace / IsAsciiPrintable - comprueba los caracteres en una cadena
- DefaultString - protege contra una cadena de entrada nula
- Reverse / ReverseDelimited - invierte una cadena
- Abreviatura: abrevia una cadena usando puntos suspensivos
Será mejor si contiene otros métodos para arreglos / fecha, etc.
Aquí vamos:
Esta vacio
str.length === 0
Está en blanco
str.trim().length === 0
Recortar
str.trim()
Es igual a
str1 === str2
comienza con
str.indexOf( str2 ) === 0
Índice de
str.indexOf( str2 )
LastIndexOf
str.lastIndexOf( str2 )
Contiene
str.indexOf( str2 ) !== -1
Subcadena
str.substring( start, end )
Izquierda
str.slice( 0, len )
Medio
str.substr( i, len )
Derecha
str.slice( -len, str.length )
Y así sucesivamente ... (¿Debo continuar?)
Estoy cambiando constantemente entre el backend de Java y el frontend de JavaScript, por lo que para mí tiene mucho sentido usar los métodos de StringUtils a ciegas y ni siquiera pensar en ello. Sería genial si alguien se tomara el tiempo de portar todos los métodos de Apache StringUtils en un JavaScript ;-)
Aquí está mi contribución:
String.prototype.startsWith = function(prefix) {
return this.indexOf(prefix,0) === 0;
};
String.prototype.endsWith = function(suffix) {
return this.indexOf(suffix, this.length - suffix.length) !== -1;
};
String.prototype.substringBefore = function(str) {
var idx = this.indexOf(str);
if( idx!==-1 ) {
return this.substr(0,idx);
}
return this;
};
String.prototype.substringBeforeLast = function(str) {
var idx = this.lastIndexOf(str);
if( idx!==-1 ) {
return this.substr(0,idx);
}
return this;
};
String.prototype.substringAfter = function(str) {
var idx = this.indexOf(str);
if( idx!==-1 ) {
return this.substr(idx+str.length);
}
return this;
};
String.prototype.substringAfterLast = function(str) {
var idx = this.lastIndexOf(str);
if( idx!==-1 ) {
return this.substr(idx+str.length);
}
return this;
};
// left pad with spaces (or the specified character) to this length
String.prototype.leftPad = function (length,c) {
c = c || " ";
if( length <= this.length ) return this;
return new Array(length-this.length+1).join(c) + this;
};
// right pad with spaces (or the specified character) to this length
String.prototype.rightPad = function (length,c) {
c = c || " ";
if( length <= this.length ) return this;
return this + new Array(length-this.length+1).join(c);
};
Utilice los métodos básicos de Javascript y JQuery para DOM y moment.js para las fechas.
Lea esto: Utils library si está buscando compatibilidad entre navegadores.
¡O también puedes escribir tu propio apache-lang similar a apache!