是否存在可用于将String中的两个第一个逗号替换为另一个字符的正则表达式?

我之所以需要它,是因为我正在使用RDF三元组,在这里我需要分别处理主语,谓语和宾语。因此,我使用String.split()方法将它们分为三个独立的部分。

这是我需要拆分的字符串的示例:

[http://dbpedia.org/resource/Tom_Mathisenhttp://www.w3.org/2000/01/rdf-schema#comment,“汤姆·马蒂森(Tom Mathisen,1952年8月14日出生)是挪威喜剧演员,演员,编剧和音乐家。他通常会处理贝斯,吉他和人声。1976年至1983年,他是喜剧团Prima Vera的成员。后来与Jahn Teigen和Herodes Falsk一起,他继续与Herodes Falsk一起在许多电视/场景节目和唱片中工作。“ @ en]

例如,我希望此String看起来像这样,所以我可以使用$进行拆分:

[http://dbpedia.org/resource/Tom_Mathisen $ http://www.w3.org/2000/01/rdf-schema#comment $“汤姆·马蒂森(Tom Mathisen,1952年8月14日出生)是挪威喜剧演员,演员,编剧和音乐家。他通常处理贝斯,吉他和人声。他从1976年到1983年在喜剧乐队Prima Vera任职。后来与Jahn Teigen和Herodes Falsk一起,他继续与Herodes Falsk一起在许多电视/场景节目和唱片中工作。“ @ en]

我用一种不太优雅的方式做到了:

StringBuilder stringbuilder = new StringBuilder(str);
int commaCounter = 0;
for (int i = 0; i < stringbuilder.length(); i++) {
    if (stringbuilder.charAt(i) == ',') {
        stringbuilder.setCharAt(i, '$');
        commaCounter++;
        if (commaCounter == 2) {
            break;
        }
    }
}
str = stringbuilder.toString();

最佳答案

这样的事情相对简单吗?

String s = input.replaceFirst(",", "x").replaceFirst(",", "x");

08-17 22:47