2013-07-29 55 views
-3

在Java中,獲取字符串最後250個字符的最佳方法是什麼?在Java中,獲取字符串的最後250個字符的最佳方法是什麼?

字符串可能爲空,小於或大於250個字符。

感謝

+6

你已經試過了什麼?提示:它可能會使用'substring',但你需要找出從哪裏取得子字符串... –

+1

我在想,['String#isEmpty'](http://docs.oracle.com/javase /7/docs/api/java/lang/String.html#isEmpty%28%29),['String#length'](http://docs.oracle.com/javase/7/docs/api/java/ lang/String.html#length%28%29)和['Math.min'](http://docs.oracle.com/javase/7/docs/api/java/lang/Math.html#min%28int ,%20int%29)是什麼你需要閱讀 – MadProgrammer

+0

'最好的'哪個標準?或者你的意思是「如何獲取字符串的最後205個字符?」 – 2013-07-29 10:01:02

回答

1

我完全不明白你是什麼,但可以做到這一點:

if(string.length() > 250) { 
    char[] lastCharacters = (string.subString(string.length-250)).toCharArray; 
} 
+0

當我回答同樣的問題時,我被低估了,但是timmeke得到了讚賞? –

0

這應有助於:

string.substring(Math.max(0, string.length() - 250)); 

Math.max()應選擇提供了2個數字之間的最高正值上班。

+1

如果長度小於250,則會失敗,這是問題中明確指出的情況。 –

+0

@JonSkeet,我更新了我的帖子。 –

+0

所以你現在已經回答了最簡單的情況。我認爲這不是特別有用。 –

3

最簡單的將是這樣的: -

public class check2 { 
    public static void main(String main[]) 
    { 
     String temp = "Your String Of Some Size"; 
     if(temp.length()>=250) 
     { 
      System.out.println(temp.substring(temp.length()-250)); 

     } 
     else 
     { 
      //Since Size is less than 250 ,i display the same string 
      System.out.println(temp); 
     } 
    } 

} 
1

這是做一個更緊湊的方式它:

public String getLast250Char(String input) { 
     return (input != null && input.length() > 250) ? input.substring(-250) : input; 
} 

這樣這樣,你會得到一個null返回值,一旦您input字符串是null

1
public class twofiftystring{ 
    public static void main(String main[]) 
    { 
     String somestring = "String of arbitrary size"; 
     String res = temp.length()>=250 ? somestring.substring(temp.length()-250 : somestring; 
    } 
} 
4

我會用StringUtils.right從下議院郎例子:

StringUtils.right("abc", 0) = "" 
StringUtils.right("abc", 2) = "bc" 
StringUtils.right("abc", 4) = "abc" 
0

此方法將最後250個字符返回字符串中,和其他人剛剛返回的字符串。 如果字符串必須是250個字符或更長,您可以修改它以返回異常。

public String getLast250Characters(String text) 
{ 
    return (text.length() <= 250) ? text : text.substring((text.length() - 250)); 
} 
相關問題