当前位置: 首页 > 知识库问答 >
问题:

如何从文件中获取数字

司徒瀚
2023-03-14

我必须从文件中获取一个数字,有些文件包含字母和数字。比如(dsh8kuebw9)或者有(8)这样的空格,我怎样才能得到这些数字?我试过很多次了。我有一个方法可以找到一个数字出现在一个数字中的方法是count8方法。

parseInt将文件的行转换为整数,但由于在某些文件中有字母,我的方法遇到了问题,因为它只接受整数而不接受字符串

File file_a = new File("C:\\name\\textFile8a.txt");
try 
{
    
    FileReader in = new FileReader(file_a);
    BufferedReader readFile = new BufferedReader(in);
    String n = readFile.readLine();
    int num = Integer.parseInt(n);
                
    
    System.out.println(count8(num, 8));
}
catch(IOException e)
{
    System.out.println("file could not be founded");
    System.err.println("OIException: " + e.getMessage());
}

共有2个答案

丌官利
2023-03-14

基本和简单的解决方案

public static ArrayList<Integer> extractNumber(String s) {

        ArrayList returnList = new ArrayList<Integer>();

        Pattern regex = Pattern.compile("\\d[\\d.]*");
        Matcher matcher = regex.matcher(s);
        while (matcher.find()) {
            returnList.add(matcher.group());
        }

        return returnList;
    }

    public static void main(String[] args) {

        File file_a = new File("C:\\name\\textFile8a.txt");
        try {

            FileReader in = new FileReader(file_a);
            BufferedReader readFile = new BufferedReader(in);
            String n = readFile.readLine();
            ArrayList<Integer> numberList = extractNumber(n);
            System.out.println(numberList);

        } catch (IOException e) {
            System.out.println("file could not be founded");
            System.err.println("OIException: " + e.getMessage());
        }
    }
徐承载
2023-03-14

您可以在解析字符串之前删除字符串中的所有数字,方法是用空字符串替换非数字字符:

String n = readFile.readLine();
n = n.replaceAll("[^0-9]", "");
int num = Integer.parseInt(n);
 类似资料:
  • 我目前正在尝试将我的phpmyadmin服务器连接到android studio。如果重要的话,我正在使用模拟器。我制作了一些php文件来接收数据并更改数据库中的数据。 checkuserexist.php 在我的Android Studio程序中: InputStream=conn.getInputStream();返回一个exeption:failed to connect to/10.0.2

  • 问题内容: 我如何使用javascript和jquery获取json文件的数组json 我正在尝试下一个代码,它不起作用: 这是一个名为的json文件:questions.json 我想要一个具有以下格式的数组{Biology:{Category:{cell:{question1 ....}}}} 问题答案: 是一个异步函数,因此返回该函数内部的任何内容均无济于事,因为它不在范围内或尚未收到。您可

  • 我想从SD卡文件路径中获取文件名。e、 g.:/storage/sdcard0/DCIM/Camera/1414240995236。jpg我想得到1414240995236。jpg我已经编写了获取相同内容的代码,但它不起作用。请帮忙<下面是我的代码:

  • 问题内容: 我在项目的根目录中有一个资源文件夹/程序包,我“不想”加载某个文件。如果我想加载某个文件,我将使用class.getResourceAsStream,我会很好的!我实际上想要做的是在资源文件夹中加载一个“文件夹”,循环访问该文件夹中的文件,并获取每个文件的流,并读取内容…假设在运行时之前未确定文件名… 我该怎么办?有没有一种方法可以获取jar文件中“文件夹”中文件的列表?请注意,带有资

  • 我下载了一个文件作为ajax的响应。如何从中获取文件名和文件类型并显示缩略图。我得到了很多搜索结果,但找不到正确的方法。 控制台输出:

  • 我使用意图action_get_content调用startActivityForResult。有些应用程序返回给我的数据包含以下URI: 内容://media/external/images/media/18122 不知道是图像还是视频或者一些自定义内容。如何使用ContentResolver从这个URI获取实际的文件名或内容标题?