java - 从 ListView 中获取字符串的单个部分

标签 java android string android-listview

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

String xyz = lv.getItemAtPosition(position).toString();

会给我这样的东西:

"NumberOne: "+someNumberFromTable1+"\n"+"NumberTwo: "+someNumberFromTable2

或者它在ListView中的显示方式:

NumberOne: someNumberFromTable1
NumberTwo:  someStringFromTable2

在这种情况下,我有什么方法可以仅从此字符串中提取“someNumberFromTable1”吗?

最佳答案

考虑使用正则表达式来匹配数字组。这里有一个小程序向您展示如何操作。

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);
    }
}

正则表达式模式(?<=NumberOne: )([0-9]+)首先使用所谓的后视 (?<=NumberOne: )仅匹配前面带有字符串“NumberOne:”的内容,然后指定查找一组一个或多个数字 ([0-9]+) .

输出:

264

关于java - 从 ListView 中获取字符串的单个部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28935263/

相关文章:

java - 如何在 webview 中加载内部链接?

android - 如何将Crosswalk项目添加到Android studio?

c - 结构实现

java - 在文本文件中,我只需要打印最后一个字符是可能的

java - 如何使用 Service 或 MediaPlayer 在我的应用程序中播放背景音乐?

java - 如何在 System.exit(0) 之前打印一行到终端?同步问题

java - 按照 gradle 指南构建 Java Web 应用程序会在打开 jsp 文件时引发许多错误

android - android中的AnimationSet问题

android - android 中的 compileStatement 或 db.insert

c - 后续调用 c 中的 fgets 函数未得到所需结果