我有一句话,上面有作者的名字,中间用单词“和”分隔。我想删除“和”,然后放一个&。有没有一种快速简便的方法来做到这一点。我已经尝试了扫描器和useDelimiter(),StringTokenizer和split。
例如,这是我想要分割的内容(我正在从计算机上的文件中获取此信息):
author={J. Park and J. N. James and Q. Li and Y. Xu and W. Huang},
所以我用过:
String author = nextLine.substring(nextLine.indexOf("{") + 1, nextLine.lastIndexOf("}"));
StringTokenizer st2 = new StringTokenizer(author, " and ");
while(st2.hasMoreTokens()){
author += st2.nextToken() + " & ";
}
我得到的输出如下:
J. Park and J. N. James and Q. Li and Y. Xu and W. HuangJ. & P & rk & J. & N. & J & mes & Q. & Li & Y. & Xu & W. & Hu & g & .
我不确定自己在做什么错。昨晚我在谷歌上搜索了2个小时,然后才放弃。我尝试使用“ [和]”,“和”,“ ^ [和] $”,但没有成功。
尝试以下几行。author.split()
是解决您的问题的最佳选择。
String[] splittedString = author.split(" and ");
for(String tmpString : splittedString){
author += tmpString + " & ";
}
如果只想用“&”替换“ and”,则只需在字符串上调用relaceAll()
方法。
尝试一下。
public class Test{
public static void main(String []args){
String sentence= "J. Park and J. N. James and Q. Li and Y. Xu and W. Huang";
sentence=sentence.replaceAll("and", "&");
System.out.println(sentence);
}
}
出于完整性考虑,另一种方法是使用replaceAll()
String author="{J. Park and J. N. James and Q. Li and Y. Xu and W. Huang}";
author = author.replaceAll( "and", "&" );
将为您带来相同的结果。