Android 单词完成后的Trim()字符串

Android 单词完成后的Trim()字符串,android,trim,Android,Trim,我在这里试图完成的是在单词完成后修剪字符串。但也要尽量保持效率,不要使用StringArray.length,因为有些字符串超过2k个字符 int len = 140; String str = Html.fromHtml((cureent.getTextContent().replaceAll("\n",""))).toString(); char[] StringArray; StringArray = str.toCharArray(); for(int Index=140;Index &

我在这里试图完成的是在单词完成后修剪字符串。但也要尽量保持效率,不要使用
StringArray.length
,因为有些字符串超过2k个字符

int len = 140;
String str = Html.fromHtml((cureent.getTextContent().replaceAll("\n",""))).toString();
char[] StringArray;
StringArray = str.toCharArray();
for(int Index=140;Index < 150;Index++) {
    Log.d("Current Letter",String.valueOf(StringArray[Index]));
    if (String.valueOf(StringArray[Index]).equals(" ")){
        Log.d("Found E at" + String.valueOf(Index) ,"The Value is " + String.valueOf(StringArray[Index]));
    }
    item.setDescription(Html.fromHtml(cureent.getTextContent()).toString().replaceAll("\n", "").trim().substring(0,Index).replace((char) 65532, (char) 32).trim());
}
但是我不能让它在单词之后马上修剪。我仍然在中间修剪单词或者在

修剪的任何位置。 例如。让我们假设我有这个字符串,我从我的rss

所以,为了纪念安提基努斯的悲惨死亡,我们给你们一个小样本,例如,我将使用14而不是140作为计数器,我将从0开始计数。 修剪它将返回给我:

“因此,在hon”

但只要是这样。我想让它继续前进,并在最短的时间内修剪它

“所以,为了表示敬意”

希望我有点道理

好的,试试这个:

int position = 0; //create a pointer
        for (int index = 140; index < 150; index++) {
            if (str.charAt(index).equals(" ")) {
                position = index;
                break; //stop the loop when you find a space

            }
        }

//create a substring from 0 to Index
 item.setDescription(Html.fromHtml(str.substring(0, position));
int位置=0//创建指针
对于(int索引=140;索引<150;索引++){
if(str.charAt(index).equals(“”){
位置=索引;
break;//找到空格后停止循环
}
}
//创建从0到索引的子字符串
item.setDescription(Html.fromHtml(str.substring(0,位置));

或者,您可以这样做:

private String truncateTextMaxLength(String text, int maxLength){
    String result = text;
    int len = text.length();
    if(len < maxLength){
        return result;
    }

    int i = text.lastIndexOf(0, maxLength);
    result = text.substring(0, i);

    return result;
}

请注意,对于其他代码,第140个字符和第150个字符之间可能没有“”。

您想做什么?在哪个单词完成后修剪?您得到打印结果,因为该字符为“”.是的,完全正确。在第140个位置附近结束后修剪。这是一篇rss提要文章。因此,我将在后面修剪这个词。是heppens在该位置添加latters的词。如果它有意义。如果没有,我可以制作一个example@Demeteor::您可能想看看我提供的解决方案。无需运行
for
循环,它就可以运行了请注意字符串没有“”的情况字符串中第140和150个字符之间的字符。我认为这很有效,但我必须执行position=index-1;您认为这会导致任何问题吗?编辑2:至少目前所有的文章看起来都很好。应该很好。只需注意字符串不少于140个字符,否则会出现空指针异常。还有如果你在结尾处删掉一堆字符,HTML可能会出现格式错误。此外,如果这对你有帮助,请你将我的答案标记为正确并向上投票:)是的,我会的。最后一个问题。在你提到的错误的情况下。如果我做了特别检查的话。如果字符串。长度是的,但是如果你的字符串很大,那可能会很糟糕。在这种情况下,你为什么不把它剪成140个字符,在结尾加上“…”呢?
private String truncateTextMaxLength(String text, int maxLength){
    String result = text;
    int len = text.length();
    if(len < maxLength){
        return result;
    }

    int i = text.lastIndexOf(0, maxLength);
    result = text.substring(0, i);

    return result;
}
String s = truncateTextMaxLength(myText, 150);