public static void main(String[] args) { String msg = "12213SD12"; System.err.println(getPreStr(msg)); } public static String getPreStr(String name) { if(name == null) return ""; Pattern pattern = Pattern.compile("[0-9]*"); if(pattern.matcher(name).matches()) { return ""; } char[] msgArr = name.toCharArray(); int index = name.length(); for(int i=msgArr.length - 1 ;i>=0;i--) { Character tmp = msgArr[i]; if(!pattern.matcher(tmp.toString()).matches()) { index = i + 1; break; } } return name.substring(0,index); }