Java 将包含数字的字符串解析(转换)为数字类型
java中从文本中提取数字并对其进行解析的最佳实践是什么 例如:Java 将包含数字的字符串解析(转换)为数字类型,java,string,parsing,type-conversion,converter,Java,String,Parsing,Type Conversion,Converter,java中从文本中提取数字并对其进行解析的最佳实践是什么 例如: String s = "Availability in 20 days"; 请不要仅仅停留在示例上,我正在寻找一个好的通用实践和场景 谢谢。使用正则表达式: Pattern p = Pattern.compile("-?\\d+"); Matcher m = p.matcher("Availability in 20 days"); while (m.find()) { int number = Integer.parseI
String s = "Availability in 20 days";
请不要仅仅停留在示例上,我正在寻找一个好的通用实践和场景
谢谢。使用正则表达式:
Pattern p = Pattern.compile("-?\\d+");
Matcher m = p.matcher("Availability in 20 days");
while (m.find()) {
int number = Integer.parseInt(m.group());
...
}
regex+replaceAll怎么样 代码:
String after = str.replaceAll("\\D+", "");
我不确定最佳实践是什么,但我会用一种方法来实现这一点,如本堆栈溢出问题中所述
我不确定您想做什么,但以下是一些可能对您有所帮助的解决方案:
- 例如:
String s; String str = new String("1 sentence containing 5 words and 3 numbers."); ArrayList<Integer> integers = new ArrayList<Integer>(); for (int i = 0; i <= 9; i++) { int start = 0; while (start != -1) { String sub = str.substring(start); int x = sub.indexOf(i); if (x != -1) { s = sub.substring(x, x+1); integers.add(Integer.parseInt(s)); start = x; } else { //number not found start = -1; } } }
字符串s; String str=新字符串(“1个包含5个单词和3个数字的句子”); ArrayList整数=新的ArrayList();
对于(int i=0;i如果有多个数字String[] after = str.replaceAll("\\D+", " ").split("\\s+");
如果输入为“数字134第二”那么你想要什么样的输出呢?我在想可能是一组数字。但我宁愿忽略数字,坚持下去text@kidwon请继续并接受答案。或者,如果您能够想出一些可以帮助社区的最佳做法,请输入您自己的答案并接受。答案必须是
。“\\D+”
String[] after = str.replaceAll("\\D+", " ").split("\\s+");