Java:字符串到表
在Java中,我有一个类似于“0564\n5523\n5445\n8596”的字符串,我或多或少希望创建一个类似以下的表:Java:字符串到表,java,string,character,text-files,Java,String,Character,Text Files,在Java中,我有一个类似于“0564\n5523\n5445\n8596”的字符串,我或多或少希望创建一个类似以下的表: . * . . * * . . * . . * . * . . 其中*表示它等于5和。意味着它不等于5 基本字符串是直接从文本文件中提取的(仍然不知道我将如何做,但是如果有人有关于它的简单而清晰的文档…;-)) 我想做的方法是这样的(我知道表的初始维度,字符串总是与维度匹配) int计数器=0; 对于(int r=0;r家庭作业 public class d { pu
. * . .
* * . .
* . . *
. * . .
其中*表示它等于5和。意味着它不等于5
基本字符串是直接从文本文件中提取的(仍然不知道我将如何做,但是如果有人有关于它的简单而清晰的文档…;-))
我想做的方法是这样的(我知道表的初始维度,字符串总是与维度匹配)
int计数器=0;
对于(int r=0;r家庭作业
public class d {
public static void main(String[] args) {
String s = "0564\n5523\n5445\n8596";
System.out.println(s.replaceAll("[^5\n]", ".")
.replace('5', '*')
.replaceAll("(.)(?!\n|$)", "$1 ")
.replaceAll("(\r|\n|\r\n)", System.getProperty("line.separator")));
}
}
第一个问题:为什么不做一次替换呢
str.replaceAll("5", "*").replaceAll("[0-9]", ".")
第二个问题:“\n”被视为一个字符
第三个问题:如果它是在Windows中创建的。我没有使用replaceAll,因为它实际上比这更复杂,我不是在每次迭代时修改表,而是在包含表的对象上调用一个方法。因为表在整个程序中是私有的。请记住字符串是不可变的:replaceAll将重新设置打开一个新的字符串
而不是将旧的字符串更改到位。是的,但执行“if thestring.charAt(counter)='5'”与执行“if thestring.charAt(counter)='*'”相同。
str.replaceAll("5", "*").replaceAll("[0-9]", ".")