1

「The event for mobile」のような非常に長い文字列がありますが、それらは任意の長さの文字列にすることができます。

4

6 に答える 6

4

Apache Common ライブラリのWordUtilsクラスを使用します。

static String wrap(java.lang.String str, 
       int wrapLength, java.lang.String newLineStr, boolean wrapLongWords)  

例 -

    String str = "This is a sentence that we're using to test the wrap method";
    System.out.println("Original String 1:\n" + str);
    System.out.println("\nWrap length of 10:\n" + WordUtils.wrap(str, 10));
    System.out.println("\nWrap length of 20:\n" + WordUtils.wrap(str, 20));
    System.out.println("\nWrap length of 30:\n" + WordUtils.wrap(str, 30));
于 2012-06-12T05:28:35.153 に答える
3

あなたはこのようなことをすることができます -

    String str = "The event for mobile is here";
    String temp = "";
    if(str !=null && str.length() > 10) {
        temp = str.substring(0, 10) + "...."; // here 0 is start index and 10 is last index
    } else {
        temp = str;
    }
    System.out.println(temp);

出力は次のようになります - The event ....

于 2012-06-12T05:29:50.310 に答える
1
String template = "Hello I Am A Very Long String";
System.out.println(template.length() > 10 ? template.substring(0, 10) + "..." : template);

長さを見て、substring.

または、Apache の一般的な Util を使用できる場合は、このWordUtils.wrap()を使用します。

以前は適切な検索を行っていませんでした。この SO Postはまさにあなたが望むものです

于 2012-06-12T05:29:26.227 に答える
1

完全な単語が必要な場合は、次のようにします。

public static void shortenStringFullWords(String str, int maxLength) {
    StringBuilder output = new StringBuilder();
    String[] tokens = str.split(" ");
    for (String token: tokens) {
        if (output.length() + token.length <= maxLength - 3) {
            output.append(token);
            output.append(" ");
        } else {
            return output.toString().trim() + "...";
        }
    }
    return output.toString().trim();
}
于 2012-06-12T05:31:35.923 に答える
1

あなたはこのようにこれを行うことができます

    String longString = "lorem ipusum ver long string";
    String shortString = "";
    int maxLength = 5;
    if(longString != null && longString.length() > maxLength) {
        shortString = longString.substring(0,maxLength - 1)+"...";
    }

ここで、maxLength を希望の数値に変更できます。

于 2012-06-12T05:33:01.157 に答える
1
String myString ="my lengthy string";
    int startIndex=0, endIndex=myString.length(), lengthLimit = 10;



    while(startIndex<endIndex) {
        System.out.println(myString.substring(startIndex,  startIndex+lengthLimit));
        startIndex = startIndex+lengthLimit+1;
    }
于 2012-06-12T05:44:30.850 に答える