Java替换汉字字符串中的数字或小数

  现在项目中有这样的需求:将“甲状腺结节 5*3 cm” 替换成 “甲状腺结节 * cm”。就是将字符串中的数字给替换成空白。

代码如下:

	public static String subString(String str) {
		String regex = "\\d*";
		Pattern p = Pattern.compile(regex);
		Matcher m = p.matcher(str);
		while (m.find()) {
			if (!"".equals(m.group()))
				str = str.replace(m.group(), "");
		}
			return str;
	}

可是现在如果有“甲状腺结节 5.1*3.2 cm”替换成“甲状腺结节 * cm”再用上面的正则表达式就行不通了。因为有小数点了,下面是有小数点的实现源码。与上面的区别是修改了正则表达式。

	public static String subString(String str) {
		// String regex = "\\d*";
		 	String regex = "[\\d.]";//只更改了匹配规则
		Pattern p = Pattern.compile(regex);
		Matcher m = p.matcher(str);
		while (m.find()) {
			if (!"".equals(m.group()))
				str = str.replace(m.group(), "");
		}
		return str;
	}





你可能感兴趣的:(Java替换汉字字符串中的数字)