¿Cómo obtengo el último carácter de una cadena?¿Cómo obtengo el último carácter de una cadena?
public class Main
{
public static void main(String[] args)
{
String s = "test string";
//char lastChar = ???
}
}
¿Cómo obtengo el último carácter de una cadena?¿Cómo obtengo el último carácter de una cadena?
public class Main
{
public static void main(String[] args)
{
String s = "test string";
//char lastChar = ???
}
}
El código:
public class Test {
public static void main(String args[]) {
String string = args[0];
System.out.println("last character: " +
string.substring(string.length() - 1));
}
}
La salida:
last character: f
lo devuelve como cadena, no como personaje, pero ya sabes cómo hacer esto último, y no tengo claro qué es lo que buscas. –
¿Qué pasa si su cadena está vacía? –
generará una excepción en ese caso. ¿No lo quisieras? –
solución simple es:
public String frontBack(String str) {
if (str == null || str.length() == 0) {
return str;
}
char[] cs = str.toCharArray();
char first = cs[0];
cs[0] = cs[cs.length -1];
cs[cs.length -1] = first;
return new String(cs);
}
Usando una matriz de caracteres (cuidado con la cadena vacía desagradable o nulo argumento de cadena!)
Otra solución utiliza StringBuilder (que generalmente se utiliza para hacer la supresión de cadenas ya que String es inmutable.
public String frontBack(String str) {
if (str == null || str.length() == 0) {
return str;
}
StringBuilder sb = new StringBuilder(str);
char first = sb.charAt(0);
sb.setCharAt(0, sb.charAt(sb.length()-1));
sb.setCharAt(sb.length()-1, first);
return sb.toString();
}
Otro enfoque (más para la instrucción de uso real) es la siguiente:
public String frontBack(String str) {
if (str == null || str.length() < 2) {
return str;
}
StringBuilder sb = new StringBuilder(str);
String sub = sb.substring(1, sb.length() -1);
return sb.reverse().replace(1, sb.length() -1, sub).toString();
}
Aquí la cadena completa se invierte y luego la parte que no debe ser revertida se reemplaza con la subcadena. ;)
Prueba esto:
if (s.charAt(0) == s.charAt(s.length() - 1))
Aquí es un método que utiliza String.charAt()
:
String str = "India";
System.out.println("last char = " + str.charAt(str.length() - 1));
La salida resultante es last char = a
.
public String lastChars(String a) {
if(a.length()>=1{
String str1 =a.substring(b.length()-1);
}
return str1;
}
No creo que este código se compile (aunque solo necesita correcciones pequeñas), una vez que lo compile, realice una prueba en una cadena vacía para ver si funciona. – Knells
Si bien esta respuesta es probablemente correcta y útil, se prefiere si [incluye alguna explicación junto con ella] (http://meta.stackexchange.com/q/114762/159034) para explicar cómo ayuda a resolver el problema. Esto se vuelve especialmente útil en el futuro, si hay un cambio (posiblemente no relacionado) que hace que deje de funcionar y los usuarios deben comprender cómo funcionó. ¡Gracias! – Hatchet
Las otras respuestas contienen un montón de texto y código innecesarios. Aquí hay dos maneras de conseguir el último carácter de una cadena:
carbón
char lastChar = myString.charAt(myString.length() - 1);
cadena
String lastChar = myString.substring(myString.length() - 1);
public char LastChar(String a){
return a.charAt(a.length() - 1);
}
String aString = "This will return the letter t";
System.out.println(aString.charAt(aString.length() - 1));
salida debería ser:
t
Happy coding!
Este es exactamente el mismo ejemplo dado aquí https://stackoverflow.com/a/13025371/773479 –
Vaya, no lo vi. –
Las otras respuestas son muy completas, y definitivamente debería usarlas si está tratando de encontrar el último carácter de una cadena. Pero si usted está tratando de utilizar un condicional (por ejemplo, es el último carácter 'g'), también se puede hacer lo siguiente:
if (str.endsWith("g")) {
o, cuerdas
if (str.endsWith("bar")) {
¡Usted tiene varias preguntas mezcladas juntas. En general, sí, 'str.charAt (str.length() - 1) 'suele ser el último carácter de la cadena; pero considere lo que sucede si str está vacío o nulo. –
Funciona bien. Pero la lógica de la comprobación de palidrome no suena correcta, por favor también mencione cuál es el error que está obteniendo. – Zimbabao
posible duplicado de [¿Cómo eliminar el último carácter de una cadena?] (Http://stackoverflow.com/questions/7438612/how-to-remove-the-last-character-from-a-string) – Nateowami