gpt4 book ai didi

Java从多行字符串中获取子字符串或分割

转载 作者:行者123 更新时间:2023-12-01 19:57:06 30 4
gpt4 key购买 nike

我想从多行组成的字符串中获取一个字符串

示例字符串:

Date: May 12, 20003
ID: 54076
Content: Test
filename: Testing.fileextension
folder: Test Folder
endDate: May 13, 2003

我想要的输出是“Testing.filextension”我尝试了几种方法,但没有一个只返回文件名。

方法尝试1:

String[] files = example.substring(example.indexOf("filename: ")
for (String filename : files){
System.out.printlin(filename);
}

方法尝试 2 是尝试在换行符上进行分割,但现在它只返回所有行。我的主要问题是 .split 方法采用 (String, int),但是,我没有 int。

String[] files = example.split("\\r?\\n");
for (String filename : files){
System.out.println(filename)
}

最佳答案

使用流怎么样?您应该考虑过滤无法拆分的行,例如当分割字符丢失时。

所以试试这个:

Map<String, String> myMap = Arrays.stream(myString.split("\\r?\\n"))
.map(string -> string.split(": "))
.collect(Collectors.toMap(stringArray -> stringArray[0],
stringArray -> stringArray[1]));

System.out.println(myMap.get("filename"));

关于Java从多行字符串中获取子字符串或分割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49264343/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com