6个回答
展开全部
这个操作需要两步,第一步用正则表达式找出其中的数字,第二步再从String转到int。
String中有个方法replaceAll(String regex, String replacement) ,具体到你现在的需要就是用空(“”)将字符串中的非数字的表达式全部替换掉,这样就留下了数字串,然后用int的包装类的方法转换:Integer.parseInt(String str)
String中有个方法replaceAll(String regex, String replacement) ,具体到你现在的需要就是用空(“”)将字符串中的非数字的表达式全部替换掉,这样就留下了数字串,然后用int的包装类的方法转换:Integer.parseInt(String str)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-04-30
展开全部
试试,看看,如果需要可以把Integer.parseInt 换成Double.parseDouble等。。。
/**
* 将字符串里的数字部分转换为整型,转换失败时返回null
*
* @param str 原字符串
* @return 转换后的整型
*/
public static Integer toNumber(String str) {
if (str == null)
return null;
String newStr = str.replaceAll("[^\\d]", "");
Integer num;
try {
num = Integer.parseInt(newStr);
} catch (Exception e) {
return null;
}
return num;
}
/**
* 将字符串里的数字部分转换为整型,转换失败时返回null
*
* @param str 原字符串
* @return 转换后的整型
*/
public static Integer toNumber(String str) {
if (str == null)
return null;
String newStr = str.replaceAll("[^\\d]", "");
Integer num;
try {
num = Integer.parseInt(newStr);
} catch (Exception e) {
return null;
}
return num;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class Test_01 {
public static void toInt (String args) {
int length = args.length();
byte b;
for (int i = 0; i < length; i++) {
b = (byte)(args.charAt(i) - '0');
if (b < 10)
System.out.println(b);
}
}
public static void main(String[] args) {
toInt("abd3av");
}
}
输出:3
public static void toInt (String args) {
int length = args.length();
byte b;
for (int i = 0; i < length; i++) {
b = (byte)(args.charAt(i) - '0');
if (b < 10)
System.out.println(b);
}
}
public static void main(String[] args) {
toInt("abd3av");
}
}
输出:3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String str = abd3av;
String str1 = str.replaceAll("\\D", "");
int num = Integer.parseInt(str1);
String str1 = str.replaceAll("\\D", "");
int num = Integer.parseInt(str1);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询