gpt4 book ai didi

java - map 缩小作业以继续播放

转载 作者:行者123 更新时间:2023-12-02 20:58:32 25 4
gpt4 key购买 nike

我有一个巨大的文本文件,其中包含文本数据。文件的每一行包含12个字符的数据。我需要使用map reduce作业从该文件中找到5个字符的子字符串。

输入文件。

abcdefghijkl
kahfdjshjsdh
sdfkjsdjkjks

搜索值
cdefg

'cdefg'可以出现在文件中的任何位置。它可以分为两行。所以我不知道如何创建当前行的后两个字符和下一行的后3个字符的映射。

最佳答案

I have a file containing lines of 12 characters and I want to find 5 character of string from that file. In Mapper I am getting 12 character of line and can create two maps of 5 character and left 2 character and want to get next 3 character from next line and want to create map of it. So in reducer I can compare that maps with my string.



您可以将所有行连接在一起,然后可以用5个字符拆分结果,请检查此 Splitting a string at every n-th character:
abcdefghijklkahfdjshjsdhsdfkjsdjkjks
[abcde, fghij, klkah, fdjsh, jsdhs, dfkjs, djkjk, s]

您可以从这段代码中启发解决方案:
File file = new File("myFile.txt");
try {
Scanner scanner = new Scanner(file);
String result = "";
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
result += line;
}
System.out.println(result);
//here you can use this array
String spl[] = result.split("(?<=\\G.....)");

System.out.println(Arrays.toString(spl));
} catch (FileNotFoundException e) {
e.printStackTrace();
}

输出
abcdefghijklkahfdjshjsdhsdfkjsdjkjks
[abcde, fghij, klkah, fdjsh, jsdhs, dfkjs, djkjk, s]

编辑

I Want to create map like this abcdefghijklkahfdjshjsdhsdfkjsdjkjks [abcde, bcdef, cdefg, defgh... ]



您可以这样解决此问题:
String str = "abcdefghijklkahfdjshjsdhsdfkjsdjkjks";
List<String> list = new ArrayList<>();

for (int i = 0; i < str.length()-4; i++) {
String s = "";
for (int j = i; j < i+5; j++) {
s+=result.charAt(j);
}
list.add(s);
}

输出
[abcde, bcdef, cdefg, defgh, efghi, fghij, ghijk, ...., djkjk, jkjks]

关于java - map 缩小作业以继续播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43821432/

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