web-dev-qa-db-ja.com

文字列の最後の文字を取得する方法

文字列の最後の文字を取得する方法

public class Main
{
    public static void main(String[] args) 
    {
        String s = "test string";
        //char lastChar = ???
    }   
}
161
lonesarah

コード:

public class Test {
    public static void main(String args[]) {
        String string = args[0];
        System.out.println("last character: " +
                           string.substring(string.length() - 1)); 
    }
}

出力:

last character: f
221
jcomeau_ictx

これはString.charAt()を使った方法です:

String str = "India";
System.out.println("last char = " + str.charAt(str.length() - 1));

結果の出力はlast char = aです。

87
Aniket

他の答えには不必要なテキストとコードがたくさん含まれています。文字列の最後の文字を取得する方法は2つあります。

char

char lastChar = myString.charAt(myString.length() - 1);

文字列

String lastChar = myString.substring(myString.length() - 1);
23
Suragch

他の答えは非常に完全です、そしてあなたが文字列の最後の文字を見つけようとしているなら、あなたは間違いなくそれらを使うべきです。しかし、もしあなたが単に条件式(例えば、最後の文字 'g')を使おうとしているならば、あなたはまた以下をすることができます:

if (str.endsWith("g")) {

または、文字列

if (str.endsWith("bar")) {
18
Neil Chowdhury

これを試して:

if (s.charAt(0) == s.charAt(s.length() - 1))
5
Bala R

簡単な解決策は:

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);
}

文字配列を使用する(厄介な空の文字列または空の文字列引数に注意してください)

別の解決策はStringBuilderを使用します(String自体は不変であるため、これは通常Stringのmanupilationを行うために使用されます。

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();
}

さらに別のアプローチ(実際の使用よりも指導のためのもの)はこれです。

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();
}

ここでは完全な文字列が反転され、その後反転させてはいけない部分が部分文字列に置き換えられます。 ;)

2
Yoko Zunna
String aString = "This will return the letter t";
System.out.println(aString.charAt(aString.length() - 1));

出力は以下のようになります。

t

ハッピーコーディング!

2
user8705926
public String lastChars(String a) {
if(a.length()>=1{
String str1 =a.substring(b.length()-1);
}
return str1;
}
2
public char LastChar(String a){
    return a.charAt(a.length() - 1);
}
2
vijay pandey

文字列の最後のxxを取得するために使用するメソッドは次のとおりです。

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;
    }
}

その後、次のように使用します。

String testStr = "this is a test string";
String last1 = takeLast(testStr, 1); //Output: g
String last4 = takeLast(testStr, 4); //Output: ring
0
Pierre

配列から何か:

s = 'some string'
s[-1]   # last char
0
Jaja