当前位置: 首页 > 面试题库 >

从字符串解析多个双打

琴刚豪
2023-03-14
问题内容

我想知道如何从字符串中解析几个双精度数字,但是字符串可以混合使用,例如:String s = "text 3.454 sometext5.567568more_text"

标准方法(Double.parseDouble)不适合。我尝试使用isDigit方法解析它,但是如何解析其他字符和.

谢谢。


问题答案:

使用合适的正则表达式(如此代码或其他文章)分析双打后,重复将匹配的双打添加到列表中。在这里,您已经myDoubles准备好在代码中的其他任何地方使用。

public static void main ( String args[] )
{
    String input = "text 3.454 sometext5.567568more_text";
    ArrayList < Double > myDoubles = new ArrayList < Double >();
    Matcher matcher = Pattern.compile( "[-+]?\\d*\\.?\\d+([eE][-+]?\\d+)?" ).matcher( input );

    while ( matcher.find() )
    {
        double element = Double.parseDouble( matcher.group() );
        myDoubles.add( element );
    }

    for ( double element: myDoubles )
        System.out.println( element );
}


 类似资料:
  • 我是使用Jsoup的新手,我遇到了一个问题,无法从类名text为字符串的div中获取文本值。这是一个想要丢弃的字符串。 谁能帮帮我。非常感谢。

  • 如果在antlr4 lexer中有一个ONELINE_STRING片段规则标识一行上的一个简单引号字符串,那么如何在lexer中创建一个更通用的字符串规则,该规则将相邻的ONELINE_STRING连接起来(即,只要它们都在不同的行上开始,仅用空格和/或注释分隔)? 即, 将被解析为两个字符串标记,“foo”后跟“bar” 同时: 示例1: Sample3(注意,'output'是该语言中的关键字

  • 请帮我解决下一个问题: 有一个字符串模式,假设它是公共的final static变量。我们搜索的地方有一个字符串。有一个类,简单的包装器 我需要方法 如果索引处的字符串是双精度数字,小数点后最多有两位数字(如果有小数点),并且数字结束后有字符串模式,则返回包装器的对象,例如字符串 parse(search,6)返回新的包装器(10.25) 在其他情况下(索引小于零,大于字符串长度,从索引开始的子字

  • 存在问题 来自用户输入,一个文件或一个网站的HTML字符串,你可能需要对它进行解析并取其内容,或校验其格式是否完整,或想修改它。怎么办?jsonu能够帮你轻松解决这些问题 解决方法 使用静态Jsoup.parse(String html) 方法或Jsoup.parse(String html, String baseUri)示例代码: String html = "<html><head><tit

  • Milo Yip 2016/9/27 本文是《从零开始的 JSON 库教程》的第三个单元解答编。解答代码位于 json-tutorial/tutorial03_answer。 1. 访问的单元测试 在编写单元测试时,我们故意先把值设为字符串,那么做可以测试设置其他类型时,有没有调用 lept_free() 去释放内存。 static void test_access_boolean() {

  • 如果我有一个字符串“sssaaadddccc”,我如何只打印“sadc”。可以使用SubString吗?还是必须使用charAt()?