Làm thế nào để tôi có được ký tự cuối cùng của một chuỗi?
public class Main
{
public static void main(String[] args)
{
String s = "test string";
//char lastChar = ???
}
}
Làm thế nào để tôi có được ký tự cuối cùng của một chuỗi?
public class Main
{
public static void main(String[] args)
{
String s = "test string";
//char lastChar = ???
}
}
Câu trả lời:
Mật mã:
public class Test {
public static void main(String args[]) {
String string = args[0];
System.out.println("last character: " +
string.substring(string.length() - 1));
}
}
Đầu ra của java Test abcdef
:
last character: f
charAt()
khôngsubstring()
Đây là một phương pháp sử dụng String.charAt()
:
String str = "India";
System.out.println("last char = " + str.charAt(str.length() - 1));
Kết quả đầu ra là last char = a
.
Các câu trả lời khác rất đầy đủ và bạn chắc chắn nên sử dụng chúng nếu bạn đang cố gắng tìm ký tự cuối cùng của chuỗi. Nhưng nếu bạn chỉ đang cố gắng sử dụng một điều kiện (ví dụ: ký tự cuối cùng 'g'), bạn cũng có thể làm như sau:
if (str.endsWith("g")) {
hoặc, chuỗi
if (str.endsWith("bar")) {
Giải pháp đơn giản là:
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);
}
Sử dụng một mảng ký tự (coi chừng đối số Chuỗi rỗng hoặc null rỗng khó chịu!)
Một giải pháp khác sử dụng StringBuilder (thường được sử dụng để thực hiện quản lý chuỗi vì bản thân String là bất biến.
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();
}
Tuy nhiên, một cách tiếp cận khác (nhiều hướng dẫn hơn sử dụng thực tế) là cách tiếp cận này:
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();
}
Ở đây, chuỗi hoàn chỉnh được đảo ngược và sau đó phần không nên đảo ngược được thay thế bằng chuỗi con. ;)
public String lastChars(String a) {
if(a.length()>=1{
String str1 =a.substring(b.length()-1);
}
return str1;
}
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));
Đầu ra phải là:
t
Chúc mừng mã hóa!
Đây là một phương thức tôi sử dụng để lấy xx cuối cùng của chuỗi:
public static String takeLast(String value, int count) {
if (value == null || value.trim().length() == 0) return "";
if (count < 1) return "";
if (value.length() > count) {
return value.substring(value.length() - count);
} else {
return value;
}
}
Sau đó sử dụng nó như vậy:
String testStr = "this is a test string";
String last1 = takeLast(testStr, 1); //Output: g
String last4 = takeLast(testStr, 4); //Output: ring
str.charAt(str.length() - 1)
thường là ký tự cuối cùng trong chuỗi; nhưng xem xét những gì xảy ra nếu str trống, hoặc null.