用于使用已知模式解析字符串中的值的 sscanf 的 Java 等效项是什么?

2023-12-15

所以我有 C 背景(最初是 C 语言,尽管我已经有近 5 年没有使用过该语言了),我正在尝试从 Java 中的字符串中解析一些值。在 C 中我会使用 sscanf。在Java中,人们告诉我“使用Scanner或StringTokenizer”,但我不知道如何使用它们来实现我的目的。

我的输入字符串看起来像“17-MAR-11 15.52.25.000000000”。在C中我会做类似的事情:

sscanf(thestring, "%d-%s-%d %d.%d.%d.%d", day, month, year, hour, min, sec, fracpart);

但在 Java 中,我能做的就是:

scanner.nextInt();

这不允许我检查模式,对于“MAR”,我最终不得不执行以下操作:

str.substring(3,6);

可怕!当然有更好的方法吗?


问题是 Java 没有像 C 或 C# 那样输出参数(或通过引用传递)。

但有更好的方法(而且更可靠)。使用正则表达式:

Pattern p = Pattern.compile("(\\d+)-(\\p{Alpha}+)-(\\d+) (\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)")
Matcher m = p.matcher("17-MAR-11 15.52.25.000000000");
day = m.group(1);
month= m.group(2);
....

当然,C 代码更简洁,但这种技术有一个好处: 模式指定的格式比“%s”和“%d”更精确。因此,您可以使用 \d{2} 来指定这一天必须恰好由 2 位数字组成。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于使用已知模式解析字符串中的值的 sscanf 的 Java 等效项是什么? 的相关文章

  • 在 Java 中克隆对象 [3 个问题]

    这样做会调用Asub的clone方法吗 或者Asub深度克隆是否正确 如果没有的话 有没有办法通过这种方法对Asub进行深度克隆呢 abstract class Top extends TopMost protected Object cl
  • 在内存中使用 byte[] 创建 zip 文件。 Zip 文件总是损坏

    我创建的 zip 文件有问题 我正在使用 Java 7 我尝试从字节数组创建一个 zip 文件 其中包含两个或多个 Excel 文件 应用程序始终完成 没有任何异常 所以 我以为一切都好 当我尝试打开 zip 文件后 Windows 7 出
  • 如何使用assertEquals 和 Epsilon 在 JUnit 中断言两个双精度数?

    不推荐使用双打的assertEquals 我发现应该使用带有Epsilon的形式 这是因为双打不可能100 严格 但无论如何我需要比较两个双打 预期结果和实际结果 但我不知道该怎么做 目前我的测试如下 Test public void te
  • 在接口中使用默认方法是否违反接口隔离原则?

    我正在学习 SOLID 原则 ISP 指出 客户端不应被迫依赖于他们所使用的接口 不使用 在接口中使用默认方法是否违反了这个原则 我见过类似的问题 但我在这里发布了一个示例 以便更清楚地了解我的示例是否违反了 ISP 假设我有这个例子 pu
  • Java 公历日历更改时区

    我正在尝试设置 HOUR OF DAY 字段并更改 GregorianCalendar 日期对象的时区 GregorianCalendar date new GregorianCalendar TimeZone getTimeZone GM
  • 没有 Spring 的自定义 Prometheus 指标

    我需要为 Web 应用程序提供自定义指标 问题是我不能使用 Spring 但我必须使用 jax rs 端点 要求非常简单 想象一下 您有一个包含键值对的映射 其中键是指标名称 值是一个简单的整数 它是一个计数器 代码会是这样的 public
  • 将 MOXy 设置为 JAXB 提供程序,而在同一包中没有属性文件

    我正在尝试使用 MOXy 作为我的 JAXB 提供程序 以便将内容编组 解组到 XML JSON 中 我创建了 jaxb properties 文件 内容如下 javax xml bind context factory org eclip
  • jdbc mysql loginTimeout 不起作用

    有人可以解释一下为什么下面的程序在 3 秒后超时 因为我将其设置为在 3 秒后超时 12秒 我特意关闭了mysql服务器来测试mysql服务器无法访问的这种场景 import java sql Connection import java
  • Spring Boot Data JPA 从存储过程接收多个输出参数

    我尝试通过 Spring Boot Data JPA v2 2 6 调用具有多个输出参数的存储过程 但收到错误 DEBUG http nio 8080 exec 1 org hibernate engine jdbc spi SqlStat
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • 尝试将 Web 服务部署到 TomEE 时出现“找不到...的 appInfo”

    我有一个非常简单的项目 用于培训目的 它是一个 RESTful Web 服务 我使用 js css 和 html 创建了一个客户端 我正在尝试将该服务部署到 TomEE 这是我尝试部署时遇到的错误 我在这里做错了什么 刚刚遇到这个问题 我曾
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • Cucumber 0.4.3 (cuke4duke) 与 java + maven gem 问题

    我最近开始为 Cucumber 安装一个示例项目 并尝试使用 maven java 运行它 我遵循了这个指南 http www goodercode com wp using cucumber tests with maven and ja
  • 我如何在java中读取二进制数据文件

    因此 我正在为学校做一个项目 我需要读取二进制数据文件并使用它来生成角色的统计数据 例如力量和智慧 它的设置是让前 8 位组成一个统计数据 我想知道执行此操作的实际语法是什么 是不是就像读文本文件一样 这样 File file new Fi
  • 找不到符号 NOTIFICATION_SERVICE?

    package com test app import android app Notification import android app NotificationManager import android app PendingIn
  • 长轮询会冻结浏览器并阻止其他 ajax 请求

    我正在尝试在我的中实现长轮询Spring MVC Web 应用程序 http static springsource org spring docs 2 0 x reference mvc html但在 4 5 个连续 AJAX 请求后它会
  • 如何将双精度/浮点四舍五入为二进制精度?

    我正在编写对浮点数执行计算的代码的测试 不出所料 结果很少是准确的 我想在计算结果和预期结果之间设置一个容差 我已经证实 在实践中 使用双精度 在对最后两位有效小数进行四舍五入后 结果始终是正确的 但是usually四舍五入最后一位小数后
  • CamcorderProfile.videoCodec 返回错误值

    根据docs https developer android com reference android media CamcorderProfile html 您可以使用CamcorderProfile获取设备默认视频编解码格式 然后将其
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类
  • Java中super关键字的范围和使用

    为什么无法使用 super 关键字访问父类变量 使用以下代码 输出为 feline cougar c c class Feline public String type f public Feline System out print fe

随机推荐

  • TypeScript 接口实现不检查方法参数

    interface IConverter convert value number string class Converter implements IConverter convert string no error return co
  • Heroku Node.js 应用程序“进程已退出,状态为 1”和错误 h10

    我将我的应用程序部署到 Heroku 上 没有任何问题 我能够跑heroku local web在 localhost 5000 上并且它有效 当我访问 web dyno 地址时 它说应用程序错误 我检查了该网站的日志 上面写着 2017
  • 使用 CGPoint 追踪长按手势的确切位置

    通过使用 CGPoint 位置 它始终保存 uiscrollview 中的最后一个图像 当我点击其他图像进行保存时 我该怎么做才能保存我点击的确切图像 UIScrollView imageScrollView UIScrollView al
  • Cypress 运行命令而无需重新运行测试

    只是想知道 假设我有一个已完成运行的冗长的柏树测试 有没有办法尝试新的 cypress 命令 比如 cy get tg tag should have css background color rgb 0 128 0 非常感谢 如果您的意思
  • IOS7:Pop ViewController 强制 UIImageView 掉落

    将我的项目升级到iOS7后 当我执行 后退 按钮并且 UINavigationController 返回到上一页时 屏幕顶部的 ImageView 会向下移动 我使用 IB 进行布局 这些是我的模拟指标 我有自动布局 关于问题可能是什么的任
  • Zend Framework 2:获取有序的 SQL 调用

    我一直在尝试获取一个字段的 ASC DESC 调用顺序 假设是 craeted 但我似乎不知道如何在 ZF2 中执行此操作 我哪里出错了 namespace Todo Model class TodoTable extends Abstra
  • MySQL:将多个文件加载到表中

    我一直在尝试将多个文件加载到表中 以便它们适合同一行 我可以单独插入它们 但问题出在NULL值 并且我计划加入此表 如果发生这种情况 我会得到太多NULL价值观 无用的数据 LOAD DATA LOCAL INFILE malefirst
  • SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败

    我正在使用 python 2 7 10 request urllib2 Request url data urllib urlencode params f urllib2 urlopen request 导致以下异常 urlopen er
  • 计算文件夹内的文件夹数量

    你能帮我看看如何计算文件夹内的文件夹数量吗 弹出FolderBrowserDialog 后如何计算子文件夹并选择由3 个文件夹组成的主文件夹 我在用着 FolderBrowserDialog fbdialog new FolderBrows
  • 使用 JNI 将 java 与 C 定时器库接口

    我正在尝试使这个简单的示例发挥作用 import java io public class Timer public static void main String args setTimer new Runnable public voi
  • 在树莓派中安装QtVirtualkeyboard?

    我尝试在 Raspberry pi 中实现 Qt Virtualkeyboard 使用PyQt5 显示虚拟键盘但我没有找到它的前缀路径 bin plugin等文件夹 实际上整个Qt文件夹不存在 In 我之前的解决方案我使用了官方提供的 Qt
  • 使用 PHP 作为守护进程是否明智?

    我希望创建一个后台进程 有人告诉我这些进程通常是用 C 或类似的东西编写的 我最近发现 PHP 可以用来创建守护进程 如果我应该以这种方式使用 PHP 我希望得到一些建议 这是我对守护进程的要求 不断检查一行是否已被 添加到 MySQL 数
  • R - 传单限制 - 传单地图支持多少个标记?

    Data 我有一个包含 35 000 个纬度 经度位置的数据框 这些地点已绘制在交互式传单地图上 情况 我想通过 Markdown 文档在线发布地图 问题 当我将地图导出为 html 页面或以 markdown 格式时 地图为 Laggy
  • Apache FOP 可以用于将任意 HTML 转换为 PDF 吗?

    我尝试使用 Apache FOP 将 HTML 转换为 PDF HTML gt XHTML gt XSL FO gt PDF 我使用 Antenna House 中的 xhtml2fo xsl 进行 xhtml gt XSL FO 转换 它
  • 检测Delphi FMX ListBox何时滚动到底部?

    我需要检测用户何时向下滚动到 ListBox 的底部 以便我可以获取接下来的 25 个项目以在 listBox 中显示 有什么提示吗 好的 让我们分解一下 首先我们去滚动到项目在 FMX ListBox 单元中 procedure TCus
  • Win32:API 调用以列出服务器上的可用网络共享?

    假设我可以访问 IP 1 2 3 4 的 SMB 服务器 我如何确定可用共享的列表 当我输入 UNC 路径 1 2 3 4 时 Windows 资源管理器可以执行此操作 但命令提示符 dir 1 2 3 4 失败 我尝试了通常的 FindF
  • Javascript JSON.stringify 无法正确处理原型?

    我一直在初始化我的可重用类 如下所示 构造函数通常是复制构造函数 function Foo Foo prototype a 1 Foo prototype b 2 Foo prototype c var obj new Foo obj c
  • 如何检测 php 中被阻止的地址

    所以这是我的问题 我们正在尝试在我们的网站上设置 facebook like 和 twitter 推文按钮 但当 facebook 和 twitter 在计算机上被阻止时 它会导致浏览器变得无响应 所以我想做的是检测 Facebook 或
  • 适用于 Android、iOS 和 Flash 的 WebSocket 库 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 有人可以提供一个在 Android iOS iPhone iPad 和 Flash 不是 Flex 中实现 WebSocket 的示例吗 我找到了一
  • 用于使用已知模式解析字符串中的值的 sscanf 的 Java 等效项是什么?

    所以我有 C 背景 最初是 C 语言 尽管我已经有近 5 年没有使用过该语言了 我正在尝试从 Java 中的字符串中解析一些值 在 C 中我会使用 sscanf 在Java中 人们告诉我 使用Scanner或StringTokenizer