Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从listview获取字符串的单个部分_Java_Android_String_Android Listview - Fatal编程技术网

Java 从listview获取字符串的单个部分

Java 从listview获取字符串的单个部分,java,android,string,android-listview,Java,Android,String,Android Listview,我有一个ListView,它显示数据库表中的某些信息。我试图做的是从ListView项中获取一些信息,或者从字符串中精确地提取一个数字。看起来是这样的: String xyz = lv.getItemAtPosition(position).toString(); "NumberOne: "+someNumberFromTable1+"\n"+"NumberTwo: "+someNumberFromTable2 我可以得到这样的东西: String xyz = lv.getItemAtPos

我有一个ListView,它显示数据库表中的某些信息。我试图做的是从ListView项中获取一些信息,或者从字符串中精确地提取一个数字。看起来是这样的:

String xyz = lv.getItemAtPosition(position).toString();
"NumberOne: "+someNumberFromTable1+"\n"+"NumberTwo: "+someNumberFromTable2
我可以得到这样的东西:

String xyz = lv.getItemAtPosition(position).toString();
"NumberOne: "+someNumberFromTable1+"\n"+"NumberTwo: "+someNumberFromTable2
或者它在ListView中的显示方式:

NumberOne: someNumberFromTable1
NumberTwo:  someStringFromTable2

在这种情况下,是否有任何方法可以仅从该字符串中提取“someNumberFromTable1”?

尝试使用
String
对象的
split
方法。前

String str = "Number one: 12345789";
String num = str.split(": ")[1];

考虑使用正则表达式来匹配这组数字。这里有一个小程序来告诉你怎么做

import java.util.regex.*;

class Scratch
{
    public static void main(String args[])
    {
        String xyz = "NumberOne: 264\nNumberTwo: someStringFromTable2";
        Pattern pattern = Pattern.compile("(?<=NumberOne: )([0-9]+)");
        Matcher matcher = pattern.matcher(xyz);
        int foundNumber = 0;
        if (matcher.find()) {
            foundNumber = Integer.parseInt(matcher.group());
        }
        System.out.println(foundNumber);
    }
}

给我带来问题的是,我不知道数字的长度是一位、两位还是三位……如果你能用一些例子来解释你的问题,那就太好了。使用
Split
函数来获取你想要的字符串值。谢谢你!这就行了,不客气。请:)