Java 如何在计算机上打印和删除文件中的整数
我正试图从我的电脑读取一个文件,让系统打印出只包含字母的文件,而不打印数字。我的代码中已经有其他函数了,所以请看一下底部我被arraylist卡住的地方。打印时如何忽略整数Java 如何在计算机上打印和删除文件中的整数,java,integer,Java,Integer,我正试图从我的电脑读取一个文件,让系统打印出只包含字母的文件,而不打印数字。我的代码中已经有其他函数了,所以请看一下底部我被arraylist卡住的地方。打印时如何忽略整数 import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.Scanner; public class BufferedR
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
public class BufferedReaderExample {
public static void main(String[] args) {
BufferedReader reader = null;
ArrayList <String> myFileLines = new ArrayList <String>();
try {
String sCurrentLine;
reader = new BufferedReader(new FileReader("/Users/wolftrek/Downloads/example.txt"));
while ((sCurrentLine = reader.readLine()) != null) {
myFileLines.add(sCurrentLine);
System.out.println(sCurrentLine);
}
} catch (IOException e) {
e.printStackTrace();
System.out.print(e.getMessage());
} finally {
try {
if (reader != null)reader.close();
} catch (IOException ex) {
System.out.println(ex.getMessage());
ex.printStackTrace();
}
}
for (int i = 0; i < myFileLines.size(); i++) {
if (myFileLines.get(i).contains("example word")) {
System.out.println(myFileLines.get(i));
}
}
Scanner myScanner = new Scanner (System.in);
String enteredString = "";
System.out.println("Please enter the characters to search for: ");
enteredString = myScanner.nextLine();
for(int i = 0; i < myFileLines.size(); i++) {
if (myFileLines.get(i).contains(enteredString)) {
System.out.println(myFileLines.get(i));
}
}
ArrayList<String> input = myFileLines;
String extract = input.replaceAll("[^a-zA-Z]+", "");
System.out.println(extract);
}
}
导入java.io.BufferedReader;
导入java.io.FileReader;
导入java.io.IOException;
导入java.util.ArrayList;
导入java.util.Scanner;
公共类BufferedReaderExample{
公共静态void main(字符串[]args){
BufferedReader reader=null;
ArrayList myFileLines=新的ArrayList();
试一试{
弦电流线;
reader=newbufferedreader(newfilereader(“/Users/wolftrek/Downloads/example.txt”);
而((sCurrentLine=reader.readLine())!=null){
添加(sCurrentLine);
System.out.println(sCurrentLine);
}
}捕获(IOE异常){
e、 printStackTrace();
System.out.print(如getMessage());
}最后{
试一试{
if(reader!=null)reader.close();
}捕获(IOEX异常){
System.out.println(例如getMessage());
例如printStackTrace();
}
}
对于(int i=0;i
错误在于您正在列表上应用replaceAll,并且正则表达式不正确。下面这样的东西就可以了。我不清楚你是不是想要这个
ArrayList<String> input = myFileLines;
for (String e : input) {
String extract = e.replaceAll("\\d+", "");
System.out.println(extract);
}
ArrayList输入=myFileLines;
for(字符串e:输入){
字符串提取=e.replaceAll(“\\d+”,“”);
系统输出打印项次(摘录);
}
此replaceAll(“[^a-zA-Z]+”,”)
不起作用?能否在线程“main”java.lang中发布输入和输出异常。错误:未解决的编译问题:类型ArrayList中的方法replaceAll(UnaryOperator)不适用于BufferedReaderExample.main中的参数(字符串,字符串)(BufferedReaderExample.java:60)这是我尝试运行它时收到的错误消息。Eclipse告诉我的错误是“String extract=input.replaceAll”([^a-zA-Z]+,”);是“类型ArrayList中的方法replaceAll(UnaryOperator)不适用于参数(String,String)”input.replaceAll(s->.replaceAll(”[^a-zA-Z]+“,”);
此外,输入
不是myFileLInes
的副本。此外,正则表达式不会忽略整数,正如问题所示,它只保留字母a-Z或a-Z(因此除整数外的其他字符也将被替换)。