是否存在可用于将String中的两个第一个逗号替换为另一个字符的正则表达式?
我之所以需要它,是因为我正在使用RDF三元组,在这里我需要分别处理主语,谓语和宾语。因此,我使用String.split()方法将它们分为三个独立的部分。
这是我需要拆分的字符串的示例:
[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]
例如,我希望此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");