日期:2014-05-20  浏览次数:20786 次

字符串操作
第3-4节 汽车金融___王冲__C-302_41/汽车电器设备与维修___王延宁__A-509_40/形势与政策___许丽萍__C-308
我想把 "/" 往前到最近的 "_" 之间的内容给去掉
就是说 结果为
第3-4节 汽车金融___王冲__C-302/汽车电器设备与维修___王延宁__A-509/形势与政策___许丽萍__C-308
去掉的数字是不定长度的 应该如何处理呢?

------解决方案--------------------
用正则吧

public static void main(String[] args) throws Exception {

String str = "第3-4节 汽车金融___王冲__C-302_41/汽车电器设备与维修___王延宁__A-509_40/形势与政策___许丽萍__C-308";

String res = str.replaceAll("_[0-9]*/", "/");

System.out.println(res);

}

------解决方案--------------------
如果纯数字的话楼上的没问题
如果带字母什么的话,
String res = str.replaceAll("_.*?/", "/");更合适一些。这是非贪婪式的