如何从java中的字符串获取特定的int值[122356]

时间:2018-12-04 09:27:45

标签: java

如何从字符串值中获取所有int值,例如[122356]。 我尝试过:

Query query=s.createQuery("select pid from Patient where emailid=? ");

String pid = query.setParameter(0, email).list().toString();
char abc= pid.charAt(1);
int patientid=Character.getNumericValue(abc);

7 个答案:

答案 0 :(得分:1)

您可以使用parseInt从字符串值中获取一个int值,如下所示:

int num = Integer.parseInt(string_of_number);

您应该验证此操作后num的值。您可以在这里阅读有关内容:parseInt

答案 1 :(得分:1)

您可以简单地做到:

int num = Integer.parseInt("[122356]".replaceAll("[\\[\\]]", ""));

在这里,我们首先将[]的所有出现都替换为空白,然后解析该字符串。

答案 2 :(得分:0)

dispatchReceiverParameter可能返回多个记录,您需要获取指定记录,最好使用list()获取整数值

Integer.parseInt()

答案 3 :(得分:0)

将字符串解析回整数;

#!/bin/bash 
cat /etc/group | grep -w "$1" | cut -d ":" -f1

答案 4 :(得分:0)

如果您知道数字的String用括号括起来,则必须在分析之前将其删除。您可以这样做:

// replace brackets with an empty String, needs two operations due to two different brackets
String numberInBrackets = "[123456]";
String numberWithoutBrackets = numberInBrackets.replace("[", "");
String numberWithoutBrackets = numberWithoutBrackets.replace("]", "");
int number = Integer.parseInt(numberWithoutBrackets);

或者,您也可以使用String.substring(int beginIndex, int endIndex)切断它们:

// cut off the trailing and leading characters of the String
String numberInBrackets = "[123456]";
String numberWithoutBrackets = numberInBrackets.substring(1, numberInBrackets.length() - 1);

如果String仅包含密码,则只需

String number = "123456";
int number = Integer.parseInt(number);

答案 5 :(得分:0)

至少有3种方法(其中一种是Nicolas K.指出的),至少对我来说,这是最合适的方法,但是您也可以使用类似的方法(假设字符串在模式中) [int]。

 int number = Integer.parseInt(yourData.substring (1, yourData.lastIndexOf(']')));

答案 6 :(得分:0)

您可以将其用于剪切“ [”和“]”。

谢谢。

查询q = s.createQuery(“从Userprofile中选择profileid,其中emailid =?”);

    String profileid = q.setParameter(0, email).list().toString();
    int start = 0; // '(' position in string
    int end = 0; // ')' position in string
    for (int i = 0; i < profileid.length(); i++) {
        if (profileid.charAt(i) == '[') // Looking for '(' position in string
        {
            start = i;
        } else if (profileid.charAt(i) == ']') // Looking for ')' position in  string
        {
            end = i;
        }
    }
    String number = profileid.substring(start + 1, end);

    int pkst = Integer.parseInt(number);
    System.out.println("your number is :" + number);