所以我必须从文本文件中提取数据。
文本文件设置如下。
3400 Moderate
310 Light
etc.
我需要提取数字,将它们存储在一个数组和字符串中,然后将它们存储在另一个数组中,这样我就可以根据数组中写入的数字对数字进行计算,然后将其输出到文件中。我已经完成了最后一部分,当我从txt中提取数据时,我无法弄清楚如何将int与字符串分开。文件。
以下是我现在所拥有的内容,但它只是将int和单词解压缩为String
。
import java.io.*;
import java.util.*;
public class HorseFeed {
public static void main(String[] args){
Scanner sc = null;
try {
sc = new Scanner(new File("C:\\Users\\Patric\\Desktop\\HorseWork.txt"));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
List<String> lines = new ArrayList<String>();
while (sc.hasNextLine()) {
lines.add(sc.nextLine());
}
String[] arr = lines.toArray(new String[0]);
for(int i = 0; i< 100; i++){
System.out.print(arr[i]);
}
}
}
答案 0 :(得分:1)
在 $("#profile-form").validate({
rules: {
name: {
required: true,
nowhitespace: true,
lettersonly: true
},
'files[]': {
required: true,
},
},
messages: {
name: {
required: 'Please enter your first name',
},
'files[]': {
required: 'Please insert your 5 images',
},
}
});
课程中使用split(String regex)
。设置正则表达式以搜索空格或数字。它将返回包含单词的String
。
如果你要逐行分析它,你会想要另一个String[]
,你可以在其中附加新行中的所有单词。
答案 1 :(得分:1)
plz,请遵守代码。
import java.io.*;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class HorseFeed {
public static void main(String[] args) throws FileNotFoundException, IOException {
List<String> lineList = new ArrayList<String>();
BufferedReader br = new BufferedReader(new FileReader(new File("C:\\Users\\Patric\\Desktop\\HorseWork.txt")));
String line;
while ((line = br.readLine()) != null) {
Pattern pattern = Pattern.compile("[0-9]+");
Matcher matcher = pattern.matcher(line);
if( pattern.matcher(line).matches()){
while(matcher.find()){
lineList.add(matcher.group());
}
}
}
}
}
这里lineList包含你的整数。
答案 2 :(得分:0)
这应该有效:
import java.io.*;
import java.util.*;
public class HorseFeed {
public static void main(String[] args) throws FileNotFoundException {
List<Integer> intList = new ArrayList<Integer>();
List<String> strList = new ArrayList<String>();
Scanner sc = new Scanner(new File("C:\\Users\\Patric\\Desktop\\HorseWork.txt"));
while (sc.hasNextLine()) {
String line = sc.nextLine();
String[] lineParts = line.split("\\s+");
Integer intValue = Integer.parseInt(lineParts[0]);
String strValue = lineParts[1];
intList.add(intValue);
strList.add(strValue);
}
System.out.println("Values: ");
for(int i = 0; i < intList.size(); i++) {
System.out.print("\t" + intList.get(i) + ": " + strList.get(i));
}
}
}
答案 3 :(得分:0)
首先提取文件的所有文本并将其存储到String中。然后使用带有模式的字符串类的replaceall方法从中删除数字。 示例 -
String fileText = new String(&#34; welcome 2 java&#34;);
fileText = fileText.replaceAll(&#34; - ?\ d +&#34;,&#34;&#34;);
的System.out.println(SS);