请将字符串中的书名提取为Map集合的键,将作者提取为Map集合的值
时间: 2024-02-22 15:56:56 浏览: 69
好的,假设这个字符串是这样的:
```java
String str = "《Java编程思想》(美)Bruce Eckel 著,机械工业出版社,2017年版";
```
那么提取出来的Map集合就应该是:
```java
Map<String, String> bookMap = new HashMap<>();
bookMap.put("Java编程思想", "Bruce Eckel");
```
下面是提取书名和作者的代码实现:
```java
String str = "《Java编程思想》(美)Bruce Eckel 著,机械工业出版社,2017年版";
// 提取书名
Pattern bookPattern = Pattern.compile("《(.+?)》");
Matcher bookMatcher = bookPattern.matcher(str);
if (bookMatcher.find()) {
String bookName = bookMatcher.group(1);
// 提取作者
Pattern authorPattern = Pattern.compile("((.+?))(.+?)著");
Matcher authorMatcher = authorPattern.matcher(str);
if (authorMatcher.find()) {
String authorName = authorMatcher.group(2);
Map<String, String> bookMap = new HashMap<>();
bookMap.put(bookName, authorName);
System.out.println(bookMap);
}
}
```
输出结果:
```
{Java编程思想=Bruce Eckel}
```
阅读全文