我的目標是編寫一個函數(Ri),該函數返回json文件中包含術語i的行數,爲此,我通過查找單詞我初始化了,但後來我不知道如何推廣。 這是我開始代碼:如何使用java搜索json文件中的任何單詞
public class rit {
private static final String filePath = "D:\\c4\\11\\test.json";
public static void main(String[] args) throws FileNotFoundException, ParseException, IOException {
try{
InputStream ips=new FileInputStream(filePath);
InputStreamReader ipsr=new InputStreamReader(ips);
BufferedReader br=new BufferedReader(ipsr);
String ligne;
String mot="feel";
int i=1;
// nombre de lignes totales contenant le terme
int nbre=0;
while ((ligne=br.readLine())!=null){
try {
// read the json file
JSONParser jsonParser = new JSONParser();
JSONObject jsonObject = (JSONObject) jsonParser.parse(ligne);
// get a number from the JSON object
String text = (String) jsonObject.get("text");
if (text.contains(mot)){
nbre++;
System.out.println("Mot trouvé a la ligne " + i);
i++;
}
} catch (ParseException ex) {
ex.printStackTrace();
} catch (NullPointerException ex) {
ex.printStackTrace();
}}
System.out.println("number of lines Which contain the term: " +nbre);
br.close();
}
catch (Exception e){
System.out.println(e.toString());
}}}
,輸出是:
Mot trouvé a la ligne 1
Mot trouvé a la ligne 2
number of lines Which contain the term: 2
如果可能的話概括,如何做到這一點?
嘗試使用['regex'(https://stackoverflow.com/documentation/regex/topics) – TheDarkKnight
我不明白你意思是'泛化'。你的意思是在運行時改變String'mot'嗎? –
我想搜索任何沒有初始化的詞 – celia