Un jour, une personne formidable m'a demandé de «baliser» le mot-clé, quelle que soit sa taille et de «ne pas changer le mot-clé de la source de recherche», et de le voir. S'il te plait accepte-le.
Supposons que data
contienne le texte de la source de recherche. D'autre part, le but de cette fois est de renvoyer la chaîne de caractères comme si elle était balisée quelle que soit la taille lors de la recherche avec «mot-clé».
$ 1
(Au fait, s'il y a deux groupes, $ 1 $ 2
)↓ ↓ Il ressemble à ceci lorsqu'il est écrit dans le code ↓ ↓
String keyword = "java";
String data = "Java java javaJava";
// (?i)N'est pas sensible à la casse
//Hit personnages()Par groupe
data = data.replaceAll("((?i)" + Pattern.quote(keyword) + ")", "<mark>$1</mark>");
// <mark>Java</mark> <mark>java</mark> <mark>java</mark><mark>Java</mark>
System.out.println(data);
On m'a dit que ce serait gênant si je le faisais avec un gorigori. .. .. Lol (je me demandais si c'était pendant)
Mauvais exemple
Pattern p = Pattern.compile(keyword, Pattern.CASE_INSENSITIVE).matcher(data);
while(p.find()) {
int start = p.start();
int end = p.end();
~Calculez à partir des informations de localisation trouvées et remplissez la balise gorigori~
}
Je pense que j'ai pu le mettre en œuvre assez proprement et complètement. Je veux rechercher n'importe quoi, marquer et afficher les résultats! Comment écrire qui est parfait pour le traitement. Ceci n'est qu'un exemple, veuillez donc l'utiliser comme référence.
http://a4dosanddos.hatenablog.com/entry/2016/04/06/002657