Formateado con Java LPAD, RPAD. Complete los caracteres especificados a la izquierda y a la derecha de una cadena
JavaLuego, puede utilizar la función SQL para cadenas.LPAD,,RPADAquí hay una fuente de muestra que realiza el mismo proceso.
estos sonformato de longitud fijaMuy útil a la hora de tratar.
- LPAD...Devuelve una cadena llena de caracteres repetidos en el lado izquierdo de la cadena de modo que el número total de caracteres sea el número de dígitos especificado.
- RPAD...Rellena y devuelve una cadena repetida en el lado derecho de una cadena de modo que el número total de caracteres sea el número especificado de dígitos.
programa de muestra
/**
* Realizar RPAD.
* Agregue la cadena especificada [addStr] a la derecha de la cadena [str] a [len]
* Insertar hasta llenar.
* @param str cadena de destino
* @param len Número de dígitos a rellenar (especifica el tamaño después de realizar RPAD)
* @param addStr Cadena para insertar
* @return La cadena después de la conversión.
*/
cadena estática pública rpad (cadena cadena, int len, cadena addStr) {
devolver cadena de relleno(cadena, “R”, len, agregarCadena);
}
/**
* Agregue la cadena [addStr] que se agregará a la cadena [str]
* Insertar en [posición] hasta llenar [len].
*
* *Incluso si [str] es nulo o un literal vacío, use [addStr]
* Devuelve el resultado insertado hasta completar [len].
* @param str cadena de destino
* @param position Insertar antes de ⇒ L o l Insertar después de ⇒ R o r
* @param len Número de dígitos a reponer
* @param addStr Cadena para insertar
* @return La cadena después de la conversión.
*/
cadena estática pública fillString (cadena cadena, posición de la cadena,
longitud interna,
Cadena agregarStr) {
si (addStr == nulo || addStr.length() == 0) {
lanzar una nueva excepción IllegalArgumentException
(“El valor de la cadena a insertar no es válido. addStr=”+addStr);
}
si (cadena == nulo) {
cadena = “”;
}
Búfer StringBuffer = nuevo StringBuffer(str);
mientras (len > buffer.length()) {
si (posición.equalsIgnoreCase(“l”)) {
int suma = buffer.length() + addStr.length();
si (suma > len) {
agregarStr = agregarStr.subcadena
(0,addStr.length() – (suma – len));
buffer.insert(0, addStr);
}demás{
buffer.insert(0, addStr);
}
} demás {
buffer.append(addStr);
}
}
si (buffer.length() == len) {
devolver buffer.toString();
}
devolver buffer.toString().substring(0, len);
}
Resultado de la ejecución
◆Ejemplo de ejecución
public static void main(String[] args) { // Para lpad. Complete los espacios a la izquierda hasta llegar a 5 dígitos. String ret = lpad("abc", 5, " "); System.out.println("'" + ret + "'"); // Para rpad. Complete los espacios a la derecha hasta llegar a 5 dígitos. ret = rpad("abc", 5, " "); System.out.println("'" + ret + "'"); // Si es nulo ret = rpad(null, 5, " "); System. out .println("'" + ret + "'"); }
◆Resultado de salida
'abc'' 'abc' ' '