나는 12 자의 줄을 포함하는 파일을 가지고 있는데 그 파일에서 5 문자의 문자를 찾고 싶습니다. 매퍼에서 나는 라인의 12 문자를 얻고 5 문자의 두 개의 맵을 만들 수 있고 왼쪽에있는 문자를 두어 다음 행에서 다음 3 문자를 가져오고 싶고 의 맵을 만들고 싶습니다. 감속기에서 그지도를 내 문자열과 비교할 수 있습니다.
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]
당신은이 코드 조각에서 솔루션을 고취 할 수
이이 Splitting a string at every n-th character 확인 후 5 문자로 결과를 분할 할 수 있습니다 모두 함께 당신의 라인을 연결할 수 있습니다
출력
abcdefghijklkahfdjshjsdhsdfkjsdjkjks
[abcde, fghij, klkah, fdjsh, jsdhs, dfkjs, djkjk, s]
편집이 당신과 같이이 문제를 해결할 수 [ABCDE, bcdef, CDEFG, defgh ...]
을 abcdefghijklkahfdjshjsdhsdfkjsdjkjks처럼지도를 만들
:
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]
지금까지 해보신 것은 무엇입니까? – bouteillebleu
@bouteillebleu 필자는 입력 문자열을 한줄 씩주고 5 줄로 그 줄을 나누어주는 맵핑 프로그램을 만들었지 만 입력 문자열의 마지막 2 문자를 처리하는 방법을 모르겠습니다. –
'cdefg'를 포함하는 줄을 반환 하시겠습니까? –