【发布时间】:2012-07-17 15:24:33
【问题描述】:
我有一行包含各种非分隔字段值的数据。
X55655PlateX58745CupX52689SaucerX52459SpoonH59876KnifeX59866Fork
我正在尝试使用 substring 和 indexOf 来提取数据,使用类似于下面的一系列语句。
dataField1 = substring.inputLine((indexOf("Marker1: ")+9),(inputLine.indexOf("Marker2:")-1));
我不断收到error:cannot find symbol 指向substring。通常,这是我没有调用正确的 java 包的时候,但我正在使用以下内容:
import java.util.*;
import java.io.*;
import java.nio.file.*;
import java.lang.*;
java.lang.* 是字符串方法所在的位置,对吧?我也在初始化String datafield1 = "";。
dataField1 = inputLine.Substring((indexOf("Marker1: ")+9),(indexOf("Marker2:")-1));
导致 indexOf 收到 cannot find symbnol 错误。但是如果 indexOf 也是 String 的一个方法,那需要去哪里呢?
我的程序似乎使用了java documentation 中所述的正确语法substring(x,y),但是,没有适用于我的故障排除的实际示例。
我已经查看了this article,但这并不能让我更好地理解这些概念。
为什么会一直出错,我该如何防止?
【问题讨论】:
-
inputLine.Substring对于substring应该有一个小写s。即inputLine.substring(...docs.oracle.com/javase/1.4.2/docs/api/java/lang/… -
一般情况下,您不需要导入
java.lang,因为它是“默认”导入的(假设它包含Object)。但是,这不是实际使用Pattern/Matcher(正则表达式)组合的好案例吗?