我需要提取给定字符串中的数字并将它们存储在单独的数组中,以便每个索引在字符串中存储一个单独的数字。前“ 15只狐狸追逐12只兔子”。我需要将数字15和12存储在a [0]和a [1]中。
String question=jTextArea1.getText();
String lower=question.toLowerCase();
check(lower);
public void check(String low)
{
int j;
String[] ins={"into","add","Insert"};
String cc=low;
for(int i=0;i<2;i++)
{
String dd=ins[i];
if(cc.contains(dd))
{
j=1;
insert(cc);
break;
}
}}
public void insert(String low)
{
String character = low;
int l=low.length();
int j[]=new int[20];
int m=0;
for(int k=0;k<=2;k++)
{
j[k]=0;
for(int i=0;i<l;i++)
{
char c = character.charAt(i);
if (Character.isDigit(c))
{
String str=Character.toString(c);
j[k]=(j[k]*10)+Integer.parseInt(str);
m++;
}
else if (Character.isLetter(c))
{
if(m>2)
{
break;
}
}}}
正则表达式是您的最佳选择。
//Compilation of the regex
Pattern p = Pattern.compile("(\d*)");
// Creation of the search engine
Matcher m = p.matcher("15 foxes chases 12 rabbits");
// Lunching the searching
boolean b = m.matches();
// if any number was found then
if(b) {
// for each found number
for(int i=1; i <= m.groupCount(); i++) {
// Print out the found numbers;
// if you want you can store these number in another array
//since m.group is the one which has the found number(s)
System.out.println("Number " + i + " : " + m.group(i));
}
}
您必须导入java.util.regex。*;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句