0

我有一个字符串如下

String str=" Hello World, Hello World, Hello";

我想在 Java 中将第三个“Hello”替换为“Hi”。有什么方法可以只触摸 String 中我需要的部分吗?

4

2 回答 2

1

您的逻辑并不完全明确,但无论如何我认为最好的是使用Pattern。看看这个教程

于 2013-05-23T02:04:59.310 回答
0

这是一个方法,它将返回一个字符串在另一个字符串中第 n次出现的索引:

/**
 *  Returns the index of the nth occurrence of needle in haystack.
 *  Returns -1 if less than n occurrences of needle occur in haystack.
 */
public int findOccurrence(String haystack, String needle, int n) {
    if (n < 1) {
        throw new IllegalArgumentException("silly rabbit...");
    }
    int count = 0;
    int len = needle.length();    
    int idx = haystack.indexOf(needle);
    while (idx != -1 && ++count < n) {
        idx = haystack.indexOf(needle, idx + len);
    }
    return idx;
}

其余的应该很容易实现....

于 2013-05-23T02:16:21.207 回答