在数字处拆分字符串并用java写入输出文件
我有一个字符串如下的文本文件在数字处拆分字符串并用java写入输出文件,java,Java,我有一个字符串如下的文本文件 1.dfaf 2.agdagdag 3.dgdfg 4.sdfsasd 5.dfdf 6.gdg7.fadgd8.dsgg9.fgdsf 10.trete 我知道从文件中读取并写入新文件的逻辑 但我想知道将其按数字拆分并在输出文件中写入新行的逻辑 像 等等 如何获取它。试试String.split ) 您需要学习一些正则表达式才能使用它,但正则表达式是一个非常好的学习工具。将是一个很好的起点。此外,正则表达式将是解决您的问题所必需的附加部分。如果您只想写入而不存储
1.dfaf 2.agdagdag 3.dgdfg 4.sdfsasd 5.dfdf 6.gdg7.fadgd8.dsgg9.fgdsf 10.trete
我知道从文件中读取并写入新文件的逻辑
但我想知道将其按数字拆分并在输出文件中写入新行的逻辑
像
等等
如何获取它。试试String.split
)
您需要学习一些正则表达式才能使用它,但正则表达式是一个非常好的学习工具。将是一个很好的起点。此外,正则表达式将是解决您的问题所必需的附加部分。如果您只想写入而不存储新字符串,则可以使用执行以下操作。只需将空格字符替换为换行符!因此,新创建的字符串将采用您希望写入文件的确切格式
String orignalString = readFromFile(...); // implement this
String stringToWriteToFile = originalString.replace(" ","\n"); // so you replace the space with a \n
writeToFile(stringToWriteToFile); // implement this
仅当字符串始终由单个空格分隔时,此操作才有效
注意:如果这是家庭作业,每个人都将使用String.split()。因此,您可能会因为创新和使用String.replace()而获得一些额外的分数。我自己做的 您可以使用该方法执行此操作:
String[] result = "1.dfaf 2.agdagdag 3.dgdfg 4.sdfsasd 5.dfdf 6.gdg7.fadgd8.dsgg9.fgdsf 10.trete".split("\\s");
for (int x = 0; x < result.length; x++) {
System.out.println(result[x]);
}
String[]result=“1.dfaf 2.agdagdag 3.dgdfg 4.sdfsasd 5.dfdfdf 6.gdg7.fadgd8.dsgg9.fgdsf 10.trete”。拆分(\\s”);
对于(int x=0;x
您也可以使用a来实现这一点,但这似乎是不鼓励的
这就是您的意思吗?您应该使用split函数并将分隔符设为正则表达式(空格后跟1位数字) 这应该可以
String[] arr = "1.dfaf 2.agdagdag 3.dgdfg 4.sdfsasd 5.dfdf 6.gdg 7.fadgd 8.dsgg 9.fgdsf 10.trete".split(" ");
for(int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
String[]arr=“1.dfaf 2.agdagdag 3.dgdfg 4.sdfsasd 5.dfdf 6.gdg 7.fadgd 8.dsgg 9.fgdsf 10.trete”。拆分(“”);
对于(int i=0;i
也许这会有帮助:
- 获得字符串后,将查找与
匹配的所有子字符串。为此,您需要\d+\.[a-z]+
和/或java.util.regex.Matcher
。你可以在中找到一个例子。查看方法java.util.regex.Pattern
和matcher.find()
李>matcher.group()
- 然后,如果要在数字和文本之间插入空格,则必须使用
拆分
分隔每个子字符串
我希望这能有所帮助。祝你好运 家庭作业?如果是,请适当标记。否则没关系。看看可能是打字错误,但他的输入字符串与空格字符不一致。
String[] arr = "1.dfaf 2.agdagdag 3.dgdfg 4.sdfsasd 5.dfdf 6.gdg 7.fadgd 8.dsgg 9.fgdsf 10.trete".split(" ");
for(int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}