如何使用StringTokenizer(JAVA)中的单词来溢出句子

问题描述 投票:0回答:1

我有一句话,上面有作者的名字,中间用单词“和”分隔。我想删除“和”,然后放一个&。有没有一种快速简便的方法来做到这一点。我已经尝试了扫描器和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个小时,然后才放弃。我尝试使用“ [和]”,“和”,“ ^ [和] $”,但没有成功。

java delimiter stringtokenizer
1个回答
0
投票

尝试以下几行。author.split()是解决您的问题的最佳选择。

String[] splittedString = author.split(" and ");

for(String tmpString : splittedString){
   author += tmpString + " & ";
}

0
投票

如果只想用“&”替换“ 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);
    }
}

0
投票

出于完整性考虑,另一种方法是使用replaceAll()

String author="{J. Park and J. N. James and Q. Li and Y. Xu and W. Huang}";
author = author.replaceAll( "and", "&" );

将为您带来相同的结果。

© www.soinside.com 2019 - 2024. All rights reserved.