是否有正则表达式可用于仅用另一个字符替换String中的两个第一个逗号?
我需要这个的原因是我正在使用RDF三元组,我需要分别处理主题,谓词和对象.所以我使用String.split()方法将它们分成三个独立的部分.
这是我需要拆分的字符串示例:
[ http://dbpedia.org/resource/Tom_Mathisen,http://www.w3.org/2000/01/rdf-schema#comment,"汤姆·马蒂森(1952年出生8月14日)是挪威的喜剧演员,演员,编剧他经常处理低音,吉他和人声.1976年至1983年,他与Jahn Teigen和Herodes Falsk一起进入了喜剧小组Prima Vera.后来他继续与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年,他与Jahn Teigen和Herodes Falsk一起进入了喜剧小组Prima Vera.后来他继续与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();
Run Code Online (Sandbox Code Playgroud)
这样的事情比较直接吗?
String s = input.replaceFirst(",", "x").replaceFirst(",", "x");
Run Code Online (Sandbox Code Playgroud)