【问题标题】:How to fix error in substring due to spaces如何修复由于空格导致的子字符串中的错误
【发布时间】:2019-04-08 14:10:29
【问题描述】:

我正在尝试从文件中获取特定值以通过 Java 写入数据库。我使用了substring() 函数来存储值。在一列中,我有一些空字段和一些数据。当它遇到一个空字段时,它会给我一个错误。如何解决这个问题?

String st = strline.substring(453,457);

由于上述代码,我在输出中收到此错误:

Error: begin 453, end 457, length 452

【问题讨论】:

  • 欢迎来到 Stack Overflow。什么记录了那个错误?如果是异常,您能否包括类型和堆栈跟踪,而不仅仅是消息?我的猜测是问题在于strline 只有 452 个字符长...
  • 提供更多信息,如strline
  • 在调用substring()之前检查strline.length() >= 457
  • 欢迎来到stackoverflow。从你的问题中不清楚你在问什么。请务必阅读How to ask a good question,并在您的问题中提供minimal, complete, verifiable example,以便我们为您提供良好的答案。
  • 你的字段是逗号分隔的还是什么?使用String.split() 可能比使用String.substring() 更好。你能提供你正在解析的字符串的例子吗?

标签: java substring


【解决方案1】:

就像厄立特里亚建议的那样,您应该在调用 substring 方法之前检查字符串的长度。

String st = strline.length() > 452 ? strline.substring(453,457) : "";

【讨论】:

  • 虽然这将停止此特定场景的错误,但它可能会引入其他问题。这里没有足够的信息来回答。
猜你喜欢
  • 2023-03-10
  • 2019-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-06
  • 2019-08-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多