English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
El siguiente ejemplo asigna una cadena a una constante:
object Test { val greeting: String = "Hello,World!" def main(args: Array[String]) { println( greeting ) } }
El siguiente ejemplo define la variable greeting, que es una constante de cadena, de tipo String (java.lang.String).
En Scala, el tipo de cadena es en realidad Java String, y él mismo no tiene una clase String.
En Scala, String es un objeto inmutable, por lo que el objeto no se puede modificar. Esto significa que si modificas una cadena, se creará un nuevo objeto de cadena.
Pero otros objetos, como los arreglos, son objetos mutables. A continuación, presentaremos los métodos comunes de java.lang.String.
Ejemplo de creación de cadenas
var greeting = "¡Hola Mundo!"; o var greeting:String = "¡Hola Mundo!";
No necesitas especificar el tipo String para una cadena, porque el compilador de Scala inferirá automáticamente el tipo de la cadena como String.
Por supuesto, también podemos declarar directamente una cadena como tipo String, como el siguiente ejemplo:
object Test { val greeting: String = "¡Hola, Mundo!" def main(args: Array[String]) { println( greeting ) } }
Ejecutar el código anterior, el resultado de salida es:
$ scalac Test.scala $ scala Test ¡Hola, mundo!
Como mencionamos anteriormente, los objetos String son inmutables, si necesitas crear una cadena de caracteres modificable, puedes usar la clase StringBuilder, como el siguiente ejemplo:
object Test { def main(args: Array[String]) { val buf = new StringBuilder; buf += 'a' buf ++= "bcdef" println( "buf is : " + buf.toString ); } }
Ejecutar el código anterior, el resultado de salida es:
$ scalac Test.scala $ scala Test buf is : abcdef
Podemos usar el método length() para obtener la longitud de una cadena de caracteres:
object Test { def main(args: Array[String]) { var palindrome = "es.oldtoolbag.com"; var len = palindrome.length(); println( "Longitud de la cadena de caracteres is : " + len ); } }
Ejecutar el código anterior, el resultado de salida es:
$ scalac Test.scala $ scala Test Longitud de la cadena de caracteres is : 14
Se utiliza el método concat() del tipo String para conectar dos cadenas de caracteres:
string1.concat(string2);
Ejemplo de demostración:
scala> "Tutoriales básicos de la página web oficial: ".concat("es.oldtoolbag.com"); res0: String = Tutoriales básicos de la página web oficial: es.oldtoolbag.com
También puedes usar el signo más (+) para conectar:
scala> "Tutoriales básicos de la página web oficial: " + " es.oldtoolbag.com" res1: String = El sitio web oficial de 基础教程网: es.oldtoolbag.com
Vamos a ver un ejemplo completo:
object Test { def main(args: Array[String]) { var str1 ="El sitio web oficial de 基础教程网: "; var str2 = "es.oldtoolbag.com"; var str3 = "El lema de 基础教程网的 es: "; var str4 = "Aprender los fundamentos, ¡solo así puedes ir más lejos!"; println( str1 + str2 ); println( str3.concat(str4) ); } }
Ejecutar el código anterior, el resultado de salida es:
$ scalac Test.scala $ scala Test Sitio web oficial de 基础教程网: es.oldtoolbag.com El lema de 基础教程网 es: Aprender los fundamentos, ¡solo así puedes ir más lejos!
En la clase String puedes usar el método printf() para formatear una cadena y mostrarla, el método format() de String devuelve un objeto String en lugar de un objeto PrintStream. A continuación se muestra un ejemplo de uso del método printf():
object Test { def main(args: Array[String]) { var floatVar = 12.456 var intVar = 2000 var stringVar = "基础教程网!" var fs = printf("La variable de punto flotante es " + "%f, la variable entera es %d, la cadena es " + " %s", floatVar, intVar, stringVar) println(fs) } }
Ejecutar el código anterior, el resultado de salida es:
$ scalac Test.scala $ scala Test La variable de punto flotante es 12.456000, la variable entera es 2000, la cadena es 基础教程网!()
La siguiente tabla enumera los métodos más comunes de java.lang.String que puedes usar en Scala:
Número de serie | Método y descripción |
---|---|
1 | char charAt(int index) Devolver el carácter en la posición especificada |
2 | int compareTo(Object o) Comparar una cadena con un objeto |
3 | int compareTo(String anotherString) Comparar dos cadenas en orden alfabético |
4 | int compareToIgnoreCase(String str) Comparar dos cadenas en orden alfabético sin tener en cuenta mayúsculas y minúsculas |
5 | String concat(String str) Conectar la cadena especificada al final de esta cadena |
6 | boolean contentEquals(StringBuffer sb) compara esta cadena con un StringBuffer específico |
7 | static String copyValueOf(char[] data) devuelve la String que representa la secuencia de caracteres especificada en el array |
8 | static String copyValueOf(char[] data, int offset, int count) devuelve la String que representa la secuencia de caracteres especificada en el array |
9 | boolean endsWith(String suffix) comprueba si esta cadena termina con el sufijo especificado |
10 | boolean equals(Object anObject) compara este String con otro objeto |
11 | boolean equalsIgnoreCase(String anotherString) compara este String con otro String sin tener en cuenta la diferencia de mayúsculas y minúsculas |
12 | byte getBytes() codifica este String en una secuencia de bytes utilizando el conjunto de caracteres del sistema y almacena el resultado en un nuevo array de bytes |
13 | byte[] getBytes(String charsetName) codifica este String en una secuencia de bytes utilizando el conjunto de caracteres especificado y almacena el resultado en un nuevo array de bytes |
14 | void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) copia un carácter desde esta cadena al array de caracteres destino |
15 | int hashCode() devuelve el código hash de esta cadena |
16 | int indexOf(int ch) devuelve la posición del primer出现 de un carácter específico en esta cadena |
17 | int indexOf(int ch, int fromIndex) devuelve la posición del primer出现 de un carácter específico en esta cadena, comenzando desde el índice especificado |
18 | int indexOf(String str) devuelve la posición del primer出现 de una subcadena específica en esta cadena |
19 | int indexOf(String str, int fromIndex) devuelve la posición del primer出现 de una subcadena específica en esta cadena, comenzando desde el índice especificado |
20 | String intern() devuelve la representación normalizada de este objeto String |
21 | int lastIndexOf(int ch) devuelve la posición del último出现 de un carácter específico en esta cadena |
22 | int lastIndexOf(int ch, int fromIndex) Devuelve el índice de la última aparición del carácter especificado en esta cadena, comenzando desde el índice especificado en la búsqueda inversa. |
23 | int lastIndexOf(String str) Devuelve el índice de la última aparición de la subcadena especificada en esta cadena. |
24 | int lastIndexOf(String str, int fromIndex) Devuelve el índice de la última aparición de la subcadena especificada en esta cadena, comenzando desde el índice especificado en la búsqueda inversa. |
25 | int length() Devuelve la longitud de esta cadena. |
26 | boolean matches(String regex) Informa si esta cadena coincide con el patrón regular dado. |
27 | boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) Prueba si las áreas de dos cadenas son iguales. |
28 | boolean regionMatches(int toffset, String other, int ooffset, int len) Prueba si las áreas de dos cadenas son iguales. |
29 | String replace(char oldChar, char newChar) Devuelve una nueva cadena que se obtiene reemplazando todos los oldChar que aparecen en esta cadena con newChar. |
30 | String replaceAll(String regex, String replacement Reemplaza todas las subcadenas coincidentes de este string con el reemplazo dado. |
31 | String replaceFirst(String regex, String replacement) Reemplaza la primera subcadena coincidente de este string con el reemplazo dado. |
32 | String[] split(String regex) Divide este string según los coincidencias del patrón regular dado. |
33 | String[] split(String regex, int limit) Divide este string según el patrón regular dado. |
34 | boolean startsWith(String prefix) Prueba si este string comienza con el prefijo especificado. |
35 | boolean startsWith(String prefix, int toffset) Prueba si la subcadena de este string, comenzando desde el índice especificado, comienza con el prefijo especificado. |
36 | CharSequence subSequence(int beginIndex, int endIndex) Devuelve una nueva secuencia de caracteres que es una subsecuencia de esta secuencia |
37 | String substring(int beginIndex) Devuelve una nueva cadena que es una subcadena de esta cadena |
38 | String substring(int beginIndex, int endIndex) Devuelve una nueva cadena que es una subcadena de esta cadena |
39 | char[] toCharArray() Convierte esta cadena en un nuevo array de caracteres |
40 | String toLowerCase() Convierte todos los caracteres de esta String en minúsculas utilizando las reglas del lenguaje ambiental predeterminado |
41 | String toLowerCase(Locale locale) Convierte todos los caracteres de esta String en minúsculas utilizando las reglas de este Locale |
42 | String toString() Devuelve este objeto en sí mismo (¡ya es una cadena!) |
43 | String toUpperCase() Convierte todos los caracteres de esta String en mayúsculas utilizando las reglas del lenguaje ambiental predeterminado |
44 | String toUpperCase(Locale locale) Convierte todos los caracteres de esta String en mayúsculas utilizando las reglas de este Locale |
45 | String trim() Elimina los espacios en blanco al principio y al final de la cadena especificada |
46 | static String valueOf(tipo de datos primitivo x) Devuelve la representación de cadena de tipo especificado |