gpt4 book ai didi

java - 搜索完全匹配将返回子字符串。

转载 作者:行者123 更新时间:2023-12-02 00:53:38 25 4
gpt4 key购买 nike

我有一个小型 java 程序,可以在文件夹中的所有 *.txt 文件的内容中搜索特定字符串。

我的问题示例:

  1. 输入要查找的字符串:
  2. 输入要查找的字符串:6570
  3. 输入要查找的字符串:6570
    在 kyle.txt 中找到 2 次!
    在 kylezz.txt 中找到 2 次!
    按任意键继续 。 。 .
<小时/>

问题:

它正在搜索 6570,但是我使用该字符串获取类似这样的值的结果:

111111165701111116570111111111165706570

Question: I want to search for only an exact string, eg:"6570". how can I make it return only the exact value of 6570? I do not want any extra characters at the beginning or end, only the exact value.

Here is my code:

import java.io.*;
import java.util.*;

public class FileScanner {

public static void main(String args[]) {

System.out.print("Enter string to find: ");
Scanner sc = new Scanner(System.in);
find(sc.nextLine());

}

public static void find(String delim) {
File dir = new File("files");
if (dir.exists()) {
String read;
try {
File files[] = dir.listFiles();
for (int i = 0; i < files.length; i++) {
File loaded = files[i];
if (loaded.getName().endsWith(".txt")) {
BufferedReader in = new BufferedReader(new FileReader(
loaded));
StringBuffer load = new StringBuffer();
while ((read = in.readLine()) != null) {
load.append(read + "\n");
}
String delimiter[] = new String(load).split(delim);
if (delimiter.length > 1) {
System.out.println("Found "
+ (delimiter.length - 1) + " time(s) in "
+ loaded.getName() + "!");
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
} else {
System.out.println("error: dir wasn't found!");
}
}
}

谢谢大家,我真的希望你们能帮助我解决我的编程问题。我已经尝试修复它大约一个月了,现在我正在寻求帮助。

最佳答案

您最好的选择是阅读Mastering Regular Expressions 。与此同时,也许是tutorial on word boundaries会给你正确的想法。

关于java - 搜索完全匹配将返回子字符串。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1876192/

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