如何将字符串拆分为数组
How do I split a string into an array
我正在尝试拆分由 FileReader
和 BufferedReader
读取的字符串的每一行。我在 String [] x = Login.Split("");
收到语法错误
String
可以用什么方法拆分?我将添加一种方法来查看字符串是否与另一个输入匹配,但现在我需要弄清楚如何拆分字符串并仍然将每一行分开。
(我正在尝试寻找另一种方法因为我有 java 8 并且不能使用 sql 并且 ucanaccess 似乎也没有帮助,所以进行登录)我也尝试使用定界符,但找不到一个很好的适用示例。
private void SubmitActionPerformed(java.awt.event.ActionEvent evt) {
try {
FileReader FR = new FileReader("Login.txt");
BufferedReader Login = new BufferedReader(FR);
StringBuilder sb= new StringBuilder();
String str;
String [] x = Login.Split("");
while ((str = Login.readLine()) !=null ) {
sb.append(str);
sb.append("\n");
}
Login.close();
FR.close();
System.out.println(sb.toString());
Scanner read = new Scanner(Login);
} catch (Exception ex) {
System.out.println("exception 2, " );
ex.printStackTrace();
}
}
根据您的新评论
String str;
while ((str = Login.readLine()) !=null ) {
String [] x = str.Split(" ");
// ?? new method to scan string array
scanThis (x);
sb.append(str);
sb.append("\n");
}
void scanThis (String arr[])
{
for (int x = ; x < arr.length; x++) {
{
if (arr[x].equals ("login")) {
System.out.println ("Hurray");
break;
}
}
}
I am getting a syntax error at String [] x = Login.Split("");
不,你不是,你正在读取类似 'no such method' 的编译器错误。这不是语法错误。
Login
(愚蠢的名字)是一个 BufferedReader
,而 BufferedReader
没有 Split()
方法。 String
另一方面 有一个 split()
方法(注意大小写)。想必这就是您要找的。
但是拆分一个空字符串不会完成任何有用的事情。
我不清楚你想要什么?
A:您想将 reader 中的单独行放入数组中吗?据我所知,readline() 方法已经读取了一行文本。
或
B 如果您想拆分行中的单词,那么您可以尝试使用这个:String[] x = Login.trim().split("//s"); //正则表达式将在单词之间占多个 space 并且 trim() 将在行的开头和结尾剪切 spaces(如果有的话)。
但我可以看到,在尝试拆分数组中的单词之前,您没有将一行读入 reader。所以它试图拆分其中没有任何数据的东西。
请注意,我刚从 Java 开始,但我希望这对您有所帮助。
我正在尝试拆分由 FileReader
和 BufferedReader
读取的字符串的每一行。我在 String [] x = Login.Split("");
String
可以用什么方法拆分?我将添加一种方法来查看字符串是否与另一个输入匹配,但现在我需要弄清楚如何拆分字符串并仍然将每一行分开。
(我正在尝试寻找另一种方法因为我有 java 8 并且不能使用 sql 并且 ucanaccess 似乎也没有帮助,所以进行登录)我也尝试使用定界符,但找不到一个很好的适用示例。
private void SubmitActionPerformed(java.awt.event.ActionEvent evt) {
try {
FileReader FR = new FileReader("Login.txt");
BufferedReader Login = new BufferedReader(FR);
StringBuilder sb= new StringBuilder();
String str;
String [] x = Login.Split("");
while ((str = Login.readLine()) !=null ) {
sb.append(str);
sb.append("\n");
}
Login.close();
FR.close();
System.out.println(sb.toString());
Scanner read = new Scanner(Login);
} catch (Exception ex) {
System.out.println("exception 2, " );
ex.printStackTrace();
}
}
根据您的新评论
String str;
while ((str = Login.readLine()) !=null ) {
String [] x = str.Split(" ");
// ?? new method to scan string array
scanThis (x);
sb.append(str);
sb.append("\n");
}
void scanThis (String arr[])
{
for (int x = ; x < arr.length; x++) {
{
if (arr[x].equals ("login")) {
System.out.println ("Hurray");
break;
}
}
}
I am getting a syntax error at
String [] x = Login.Split("");
不,你不是,你正在读取类似 'no such method' 的编译器错误。这不是语法错误。
Login
(愚蠢的名字)是一个 BufferedReader
,而 BufferedReader
没有 Split()
方法。 String
另一方面 有一个 split()
方法(注意大小写)。想必这就是您要找的。
但是拆分一个空字符串不会完成任何有用的事情。
我不清楚你想要什么?
A:您想将 reader 中的单独行放入数组中吗?据我所知,readline() 方法已经读取了一行文本。
或
B 如果您想拆分行中的单词,那么您可以尝试使用这个:String[] x = Login.trim().split("//s"); //正则表达式将在单词之间占多个 space 并且 trim() 将在行的开头和结尾剪切 spaces(如果有的话)。
但我可以看到,在尝试拆分数组中的单词之前,您没有将一行读入 reader。所以它试图拆分其中没有任何数据的东西。
请注意,我刚从 Java 开始,但我希望这对您有所帮助。