【问题标题】:How to define a sentence as ,Starting with "uppercase letter" end ending with ".", in a txt file如何在txt文件中将句子定义为,以“大写字母”开头,以“.”结尾
【发布时间】:2021-03-30 11:42:50
【问题描述】:

我正在编写一个 Python 脚本,询问您要查找的单词。 它在(例如)word.txt 文件中搜索该单词并打印它,包括行+行号。 由于我的 word.txt 文件包含段落,因此“行”被误解了。 从语法上讲,一行的意思是“以”大写字母“开头,以”结尾。 “或者之类的。 但在我的脚本中,一个句子(行)在外星人的末尾结束。

我一直在谷歌搜索“变量,其中包含以“大写”开头并以“。”结尾的字符串,还有更多没有结果。

下面是我的代码,下面是我正在使用的文件(一篇新闻文章)。

fh =open("name.txt","r")
word=input("Enter the word to search:")
s=". "
count=1
while(s): 
   s=fh.readline()
   L=s.split()
   if word in L:
       print("Line Number:",count,":",s)

       count+=1

(名称.txt)

Het gaat "heel moeilijk" worden om de verspreiding van de nieuwe variant van het coronavirus tegen te gaan, zei de Britse minister van Volksgezondheid Matt Hancock zondagochtend. "We hebben nog een lange weg te gaan." De gemuteerde versie van het virus is waarschijnlijk een stuk besmettelijker dan eerdere varianten.

Inwoners van Londen en andere gebieden waar vanwege de nieuwe variant strengere lockdowns zijn afgekondigd, moeten zich gedragen alsof ze besmet zijn, zegt Hancock. Dat betekent dat ze moeten thuisblijven, tenzij het echt niet anders kan.

21 miljoen inwoners van Londen en een deel van het oosten en zuidoosten van Engeland mogen elkaar niet meer bezoeken. Voor Kerstmis worden geen uitzonderingen gemaakt.

Niet-essentiële winkels zijn dicht en mensen moeten zoveel mogelijk thuisblijven. Voor werk, studie, buitensport of begrafenissen met maximaal dertig aanwezigen mogen inwoners wel de deur uit.
Mutatie op 9 december goed voor 62 procent van nieuwe gevallen

De nieuwe variant van het coronavirus heeft zich al volop verspreid in Londen en het oosten van Engeland. Het Britse statistiekbureau ONS heeft berekend dat deze mutatie op 9 december al goed was voor 62 procent van alle nieuwe coronabesmettingen in de Britse hoofdstad. In Oost-Engeland werd op die datum in 59 procent van de gevallen het gemuteerde coronavirus vastgesteld.

Uit de cijfers blijkt hoe snel de gemuteerde versie van het virus om zich heen grijpt. Op 18 november maakte deze variant, die in september in Engeland opdook, nog slechts 28 procent van de geconstateerde gevallen in Londen uit.

Het vaccineren van de bevolking is volgens de Britse minister nu des te belangrijker. Het Verenigd Koninkrijk verwacht dat aan het einde van dit weekend ongeveer een half miljoen mensen zijn gevaccineerd.
Nieuwe variant verspreidt zich mogelijk sneller

De ontdekking van de nieuwe stam in Nederland is in de nacht van zaterdag op zondag bekendgemaakt. Op basis van een eerste analyse constateerde een speciale adviesgroep dat deze variant zich mogelijk sneller verspreidt dan eerdere varianten.

Virussen muteren voortdurend. Ze overleven door zich aan te passen aan een andere omgeving. De meeste mutaties van het coronavirus zijn ongevaarlijk.

De nieuwe stam, een variant van SARS-CoV-2 met de wetenschappelijke naam VUI-202012/01, is in september ontdekt. De mutatie is vooral aangetroffen in het zuidoosten van Engeland, maar is ook in Wales vastgesteld. Verder zijn drie gevallen in Denemarken en een in Australië bekend.
Geen duidelijke signalen dat nieuwe veriant gevaarlijker is

"De nieuwe variant is mogelijk 70 procent besmettelijker dan de originele variant van het virus", zei de Britse premier Boris Johnson zaterdag tijdens een persconferentie. Nader onderzoek moet meer duidelijkheid verschaffen.

Er zijn geen duidelijke signalen dat de nieuwe variant ook gevaarlijker is. De kans op een ziekenhuisopname of overlijden is te vergelijken met de kans daarop bij de oorspronkelijke variant van het virus. Ook wijst niets erop dat coronavaccins minder effectief werken tegen de nieuwe variant van het virus.

【问题讨论】:

  • 请查看使用正则表达式 regex 的 stackoverflow.com/questions/43753581/…
  • 我不明白你最后的问题是什么?段落有什么干扰行号?行号根据文件而定
  • 专有名词也大写,因此您对行的定义不起作用...您的问题混淆了“句子”和“行”...您打印“行号:”但想要“句号”?对于输入 'wetenschappelijke' 的上述代码,您的预期输出是什么?
  • 输入要搜索的词:wetenschappelijke 行号:1:De nieuwe stam, een variant van SARS-CoV-2 met de wetenschappelijke naam VUI-202012/01,在 9 月 ontdekt。 De mutatie 是 het zuidoosten van Engeland 的 vooral aangetroffen,威尔士的 maar 是 ok。 Verder zijn drie gevallen in Denemarken en een in Australië bekend。
  • 这是输出现在的样子 .. 上面 .. 下一个是我希望它在一天结束时的样子..

标签: python python-3.x


【解决方案1】:

这应该可行。

filename = "name.txt"
word = input("Enter the word to search:")

with open(filename, "r") as f:
    for i, line in enumerate(f):
        new_word = " " + word.lower() + " " # lowercase word with leading and trailing spaces
        new_line = " " + line.rstrip("\n").replace(".", "").lower() + " "  # lowercase line with leading and trailing spaces, without dot
        if new_word in new_line:
            print("Line Number:", i, ":", line)

【讨论】:

  • 它不起作用。输入一个单词后,我根本没有得到响应。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-18
  • 1970-01-01
  • 2012-01-14
  • 2020-12-28
  • 2017-10-28
相关资源
最近更新 更多