0

假设我输入了一行“MOVE R1,R2”,我将单词相对于空白进行拆分,并将它们分别存储到数组 token[] 中,如下所示:

String[] token = new String[0];// array initialization
FileInputStream fstream = new FileInputStream("a.txt");

BufferedReader br = new BufferedReader(new InputStreamReader(fstream));         
//Read file line by line and storing data in the form of tokens
While((strLine = br.readLine()) != null){
token = strLine.split(" ");// split w.r.t spaces                
}

所以每个索引处的元素如下: token[0]=MOVE token[1]=R1, token[2]=R2

但我想要的是如下: token[0]=MOVE token[1]=1 token[2]=2

我只想将数值存储在 i>0 的 token[i] 中,修剪掉 R 和逗号(,)。我无法弄清楚如何将 relaceAll() 与数组一起使用。我怎样才能做到这一点?提前致谢。

4

3 回答 3

5

试试这个代码:

str = str.replaceAll("[^\\d.]", "");

这将修剪掉非数字的东西。

于 2013-03-28T16:56:06.433 回答
0
s=s.replaceAll("\\D", ""); 

对于while循环中的各个拆分字符串元素..

于 2013-03-28T17:27:57.123 回答
0

在标记化之前替换:

while((strLine = br.readLine()) != null){
strLine = strLine.replaceAll("[^\\d]","");
token = strLine.split(" ");// split w.r.t spaces                
}
于 2013-03-28T17:21:14.500 回答