请教:多个作者分行显示
Author - {...}
Author - {...}
Author - {...}
我想把多个作者名作为一个字符串赋给一个变量author,应该怎么处理呢?
我的方法(本人初学java,望见谅):
String[] input = readAllFile(f).split("}");
for (int i = 0; i < input.length; i++) {
String re = input[i].replace(",", " ").trim();
if (re.startsWith("Author")) {
// 需要修改
// 把多个author放在??中?怎样计算“Author”出现次数?
StringBuffer au = new StringBuffer();
String author = au.append(input.substring(input.indexOf("-") + 2)).toString();
System.out.println(author); //输出:多个作者名,每个名字占一行
GlobalMode.put("author", author); //只输出最后一个作者名
}
注:之前定义的: HashMap<string, string=""> GlobalMode = new HashMap<string, string="">();
请问:author应该是字符串吧,可是为什么GlobalMode.put("author", author);时只输出最后一个作者名呢?不解..请各位给予指点,不胜感激!
问题补充:
我想把多个作者名当成一个字符串,然后赋给“author”,应该怎么修改GlobalMode.put("author", author)才不会只输出最后一个作者名呢?

关于java中字符串处理问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- dch1287 2008-12-22 19:30关注
上面回答中
[code="java"]GlobalMode.put( "author", (GlobalMode.get("author") + "," + author) );[/code]改成
[code="java"]
String authorNames = GlobalMode.get("author");
authorNames = (authorNames == null) ? author : (authorNames + "," + author);
GlobalMode.put("author", authorNames);
[/code]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报