gpt4 book ai didi

mysql - 计算文本中单词出现的次数(不包括一些大写单词)

转载 作者:行者123 更新时间:2023-11-29 09:41:51 24 4
gpt4 key购买 nike

我试图让这些单词在不同的文章中最常出现,同时排除一些我不感兴趣的单词。但是,我对大小写有疑问,当我排除“ce”一词时,我希望排除“ce”和“Ce”,但只排除“ce”。

Table : articles

Id article

1 <b>Nuit blanche à Lariboisière : les grévistes en arrêt de maladie pour éviter les réquisitions </b><u><br> </u><br/>Paris, le mardi 4 juin 2019 - Les grèves des professionnels de santé ne font généralement pas de bruit. Tout en se déclarant grévistes, les infirmières, médecins, aides-soignants qui souhaitent exprimer leur mécontentement et leurs revendications concernant leurs conditions de travail se contentent généralement de quelques débrayages ponctuels, de grèves administratives et de porter un brassard sur leurs blouses blanches. Cette absence de conséquence directe sur le fonctionnement des services explique que ces mouvements passent souvent inaperçus. Ainsi, même si les colonnes du JIM s’en sont fait régulièrement l’écho ces dernières semaines, les grèves des personnels soignants d’une cinquantaine de services d’urgence français depuis plus d’un mois n’ont guère été relayées. <br/><b>Après une journée de travail, enchaîner la nuit</b><br/>Mais ce matin, la presse nationale ne peut plus ignorer ce phénomène. Hier soir, à l’heure où l’équipe de nuit devait prendre son service aux urgences de l’hôpital Lariboisière, une grande partie des personnels attendus étaient absents. Une vingtaine de personnes selon les syndicats n’ont pas pris leur service. Les réquisitions se sont rapidement révélées impossible : la plupart étaient en effet en arrêt maladie, ce qui empêche le déclenchement de ce type de mesure. Ce sont donc les équipes de jour qui après une première longue période de travail ont dû prendre le relais, multipliant les heures, mettant (peut-être) en péril la sécurité de la prise en charge des patients. <br/><b>Des autorités aux abonnés absents</b><br/>Ce matin, l’information était révélée avec émotion et mettait en lumière d’autres situations périlleuses dans le reste du pays. Ainsi, un interne des urgences de Lons-le-Saunier a raconté au Quotidien du médecin un week-end de l’ascension cauchemardesque, marqué par l’absence de nombreux personnels, médecins comme infirmiers, dont plusieurs en arrêt maladie, alors qu’un mouvement de grève se poursuit dans l’établissement. Bien plus que ses collègues et confrères, le jeune médecin qui est convaincu que les soins délivrés aux patients ont pâti des effectifs réduits et de la fatigue des équipes présentes sur place, blâme les autorités qui n’ont pas su prendre la mesure de la gravité de la situation. L’administration s’est quasiment contenté de s’assurer que les praticiens avaient pu faire face aux urgences, tandis qu’une manifestation sportive potentiellement dangereuse a été maintenue. <br/><b>Que chacun prenne ses responsabilités</b><br/>Pour les syndicats, telle que l’Association des médecins urgentistes de France, si le recours à l’arrêt maladie pour contourner les réquisitions (méthode que l’on avait vu utilisée dans certaines grèves au sein des forces de l’ordre) peut être jugé discutable (il pose notamment la question de la complicité des praticiens prescripteurs de ces arrêts) il témoigne de la souffrance éprouvée par les personnels. « <i>Ce qu’il faut bien comprendre, c’est que la réponse du personnel est liée à l’inconséquence des gens qui nous gouvernent</i> » a ainsi commenté le porte-parole de l’AMUF, le docteur Christophe Prudhomme. Le ministre de la Santé, Agnès Buzyn, interrogée par France Inter a pour sa part estimé que la méthode était un « <i>dévoiement</i> » de « <i>ce qu’est un arrêt maladie. Je pense que ce n’est pas bien car ça entraîne une surcharge de travail pour les autres</i> » a-t-elle observé. Alors que ce jugement sera sans doute critiqué, le ministre a encore tenu à rappeler que les discussions avec les urgentistes avaient été nombreuses et que des sommes importantes avaient déjà été débloquées. Elle a en outre considéré que la crise des urgences était principalement liée à la difficulté pour les Français de pouvoir consulter un médecin en ville (ce qui sera probablement commenté par les représentants des médecins libéraux). Elle a d’ailleurs enjoint les Français à différer le plus possible leurs visites aux urgences. <br/>Mais si la question de la responsabilité des citoyens ne pourra pas être toujours éludée, celle de la fermeture de lits, de la réorganisation de certaines structures et de la vacance de nombreux postes ne le pourra pas plus. <br/><b>Aurélie Haroche </b></p>

包含要排除的单词的表格:

Table : exception

Id keyword

1 ce

我使用这个 SQL 查询:

select DISTINCT val, cnt as result from(
select REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE((substring_index(substring_index(t.article, ' ', n.n), ' ', -1)),',',''),'.',''),'(',''),')',''),'!',''),'?',''),'%',''), '<b>', ' '), '</p>', ' '), '</b>', ' '), '<br/>', ''), '<br>', ''), ',', ' '), '<i>', ' '), '</i>', ' '), '.', ' '), '<u>', ' '), '</u>', ' ') val,count(*) as cnt
from articles t cross join(

select a.n + b.n * 10 + c.n * 100 + 1 as n
from (select 0 as n union all select 1 union all select 2 union all select 3 union all
select 4 union all select 5 union all select 6 union all
select 7 union all select 8 union all select 9
) a cross join
(select 0 as n union all select 1 union all select 2 union all select 3 union all
select 4 union all select 5 union all select 6 union all
select 7 union all select 8 union all select 9
) b cross join
(select 0 as n union all select 1 union all select 2 union all select 3 union all
select 4 union all select 5 union all select 6 union all
select 7 union all select 8 union all select 9
) c
) n
where n.n <= 1 + (length(t.article) - length(replace(t.article, ' ', '')))
AND (substring_index(substring_index(t.article, ' ', n.n), ' ', -1)) NOT REGEXP '^[0-9]+$'
AND (substring_index(substring_index(t.article, ' ', n.n), ' ', -1)) > ''
AND REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE((substring_index(substring_index(t.article, ' ', n.n), ' ', -1)),',',''),'.',''),'(',''),')',''),'!',''),'?',''),'%',''), '<b>', ' '), '</p>', ' '), '</b>', ' '), '<br/>', ''), '<br>', ''), ',', ' '), '<i>', ' '), '</i>', ' '), '.', ' '), '<u>', ' '), '</u>', ' ') NOT IN (SELECT keyword FROM exception)
group by val
order by cnt desc
) as x
ORDER BY `result` DESC

我得到了所有单词及其出现次数的列表。排除“ce”一词,但不排除“Ce”。

我尝试过的:

LOWER(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE((substring_index(substring_index(t.article, ' ', n.n), ' ', -1)),',',''),'.',''),'(',''),')',''),'!',''),'?',''),'%',''), '<b>', ' '), '</p>', ' '), '</b>', ' '), '<br/>', ''), '<br>', ''), ',', ' '), '<i>', ' '), '</i>', ' '), '.', ' '), '<u>', ' '), '</u>', ' ')) NOT IN (SELECT keyword FROM exception)

但这不起作用..

因此,我的问题是,如何通过在排除表中插入小写单词来排除首字母大写的单词?

<小时/>

编辑

我想,我已经找到问题了:

select (substring_index(substring_index(t.articles, ' ', n.n), ' ', -1)) val,count(*) as cnt

我明白了:

val     result
<i>Ce 2

如何删除粘贴到单词中的特殊字符?

最佳答案

首先将所有内容转换为小写,然后使用 REPLACE() 函数怎么样?

这会将所有内容转换为小写,然后您可以进行替换

编辑

尝试正则表达式 SELECT * from table WHERE colmn_name REGEXP '>[^<]*mytext';

关于mysql - 计算文本中单词出现的次数(不包括一些大写单词),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56460818/

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