Java字符串分割与正则表达式应用 有购物小票内容如下: 牛奶:89.9元 火腿:15.9元 雪碧:39元 鲜花:112元 首先定义一个字符串保存购物小票的内容,然后通过常用的字符串方法和正则表达式获取每件商品名称及其对应的价格,按行打印出商品名称和价格,最后打印出总价,最终在控制台输出效果如下: 商品名称 价格(元) -------------------- 牛奶 89.9 火腿 15.9 雪碧 39 鲜花 112 -------------------- 总价 256.8 注:名称和价格之间可以用2个以上的制表符\t来实现对齐显示
时间: 2023-08-15 16:55:19 浏览: 254
在Java中,可以使用字符串的`split()`方法和正则表达式来实现字符串分割和提取信息的功能。以下是使用Java代码实现该功能的示例:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ReceiptParser {
public static void main(String[] args) {
String receipt = "牛奶:89.9元 火腿:15.9元 雪碧:39元 鲜花:112元";
// 使用正则表达式提取商品名称和价格
String regex = "(\\w+):(\\d+(\\.\\d+)?)元";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(receipt);
// 打印表格头部
System.out.println("商品名称\t\t价格(元)");
System.out.println("--------------------");
double total_price = 0;
// 提取商品名称和价格,并打印
while (matcher.find()) {
String name = matcher.group(1);
String price = matcher.group(2);
System.out.println(name + "\t\t" + price);
total_price += Double.parseDouble(price);
}
// 打印表格底部和总价
System.out.println("--------------------");
System.out.println("总价\t\t\t" + total_price);
}
}
```
运行结果:
```
商品名称 价格(元)
--------------------
牛奶 89.9
火腿 15.9
雪碧 39
鲜花 112
--------------------
总价 256.8
```
以上代码使用`Pattern`和`Matcher`类来匹配正则表达式并提取商品名称和价格。然后使用循环打印出每个商品的名称和价格,并计算总价。最后打印出总价。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)