static void Main(string[] args) { String str = "abc345def"; int i = getIntValue(str); Console.WriteLine(i); String str2 = "abc345.678.91def"; double d = getDoubleValue(str2); Console.WriteLine(d); Console.ReadKey(); } /** * 解析str,获得其中的整数 * @param str * @return */ private static int getIntValue(String str) { int r = 0; if (str != null && str.Length != 0) { StringBuilder bf = new StringBuilder(); char[] chars = str.ToCharArray(); for (int i = 0; i < chars.Length; i++) { char c = chars[i]; if (c >= '0' && c <= '9') { bf.Append(c); } else if (c == ',') { continue; } else { if (bf.Length != 0) { break; } } } try { r = int.Parse(bf.ToString()); } catch (Exception e) { } } return r; } /** * 解析字符串获得双精度型数值, * @param str * @return */ private static double getDoubleValue(String str) { double d = 0; if (str != null && str.Length != 0) { StringBuilder bf = new StringBuilder(); char[] chars = str.ToCharArray(); for (int i = 0; i < chars.Length; i++) { char c = chars[i]; if (c >= '0' && c <= '9') { bf.Append(c); } else if (c == '.') { if (bf.Length == 0) { continue; } else if (bf.ToString().IndexOf(".") != -1) { break; } else { bf.Append(c); } } else { if (bf.Length != 0) { break; } } } try { d = Double.Parse(bf.ToString()); } catch (Exception e) { } } return d; } }