从字符串中提取数字

拉克什A

我需要提取给定字符串中的数字并将它们存储在单独的数组中,以便每个索引在字符串中存储一个单独的数字。前“ 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章