Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在数字处拆分字符串并用java写入输出文件_Java - Fatal编程技术网

在数字处拆分字符串并用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]);
}