0

我有字符串:

苹果、香蕉、草莓;柠檬、西瓜;橙子

当我尝试这个时:

if(meaning.contains(";"))
        {
            meaning=meaning.replace(";", "\n");
        }

结果:

Apple, Banana, Strawberry  
 Lemon, Watermelon  
 Orange

如何逐个替换字符串的一部分以替换“;” 到 "\n"+numStr?

1.Apple, Banana, Strawberry  
2.Lemon, Watermelon  
3.Orange
4

2 回答 2

1

没有测试它,但应该工作:

String[] lines = meaning.split(";");
StringBuilder res = new StringBuilder();
for (int i = 0, size = lines.length; i < size; i++) {
    res.append(i + 1).append(". ").append(lines[i]).append("\n");
}
res.toString();
于 2013-08-23T00:26:39.077 回答
1

您可以使用以下代码。诀窍是使用String.split()而不是String.replace().

if(meaning.contains(";"))
{
    StringBuilder builder = new StringBuilder();
    String[] meanings = meaning.split(";");
    for (int i = 0; i < meanings.length; i++) {
        builder.append(String.format(Locale.US, "%d. %s\n", i, meanings[i].trim()));
    }
    Log.d("meanings", builder.toString());
}

结果将打印:

1.苹果、香蕉、草莓
2.柠檬、西瓜 3.
橙子

于 2013-08-23T00:36:57.113 回答