1
votes

Comment mettre en majuscule la première lettre d'une chaîne qui suit un saut de ligne?

J'ai un long texte qui contient plusieurs paragraphes. Il est stocké dans une variable.

Je dois mettre en majuscule la première lettre de chaque mot qui suit un saut de ligne (ou un point).

Quelle est la manière la plus simple de faire cela?


3 commentaires

Vous pouvez ajouter un exemple minimal reproductible à la question.


Votre question pourrait être quelque chose à cet effet .


Vous pouvez également utiliser une expression régulière pour analyser par plusieurs délimiteurs scinder les chaînes mots avec plusieurs délimiteurs de limite de mots


3 Réponses :


0
votes

Je suppose que vous pouvez diviser votre texte en utilisant comme séparateur \ n . Le code devrait donc ressembler à ceci:

output = []

for x in longString.split("\n"):
    try:
        x = x[0].upper() + x[1:]
    except:
        pass
    output.append(x)

outputString = "\n".join(output)

Avec cette approche, vous pourrez mettre en majuscules la première lettre après un saut de ligne. Vous pouvez suivre une approche similaire pour la période.

Faites-moi savoir si cela vous aide! : D


1 commentaires

Je suis heureux que cela ait aidé! Bonne chance pour votre projet! : P



0
votes

Essayez comme ceci.

C'est peut-être un peu complexe.

Il me semble avoir reconstruit la partie supérieure ( ) fonction

Transformed
-----------------
I have a long text that contains multiple paragraphs
It is stored in one variable
I need to uppercase the first letter every word that follows a line break (or a period)
What is the most simple way to do that

les résultats sont les suivants

import re
content="i have a long text that contains multiple paragraphs.\nit is stored in one variable.\ni need to uppercase the first letter every word that follows a line break (or a period).\nwhat is the most simple way to do that?"


def your_function_name(content):
    new_res=[]
    res=re.split(r'[.?\n]',content)
    while  ""  in res:
        res.remove("")
    for con in res:
        if 61<=ord(con[0])<=96:
            new_con=con
            new_res.append(new_con)
        elif 97<=ord(con[0])<=123:
            new_con=chr(ord(con[0])-32)+con[1:]
            new_res.append(new_con)
        else:
            new_con=con
            new_res.append(new_con)
    return new_res


print("Transformed\n-----------------")
new_res=your_function_name(content)
for i in new_res:
    print(i)


0 commentaires

1
votes

Voici un code qui met en majuscule la lettre de chaque mot d'une nouvelle ligne.

Hiii.
Hellooooooooo.
My name is stack.
Dhdjljdkd.

Sortie :

texts=''' hiii.
          hellooooooooo.
          my name is stack.
          dhdjljdkd.
      '''
res=[ i.strip().capitalize() for i in texts.split('\n')]
print('\n'.join(res))

#for i in texts.split('\n'):
#    res+=i.strip().capitalize()+'\n'
#print(res)   #--- WORKS


1 commentaires

Veuillez vous abstenir de demander des votes ou des acceptations de solutions sur Stack Overflow. Ceux-ci seront donnés de manière organique par les auteurs des questions comme ils l'entendent (il n'est pas du tout obligatoire pour eux de voter). Vous pouvez occasionnellement rappeler aux gens de le faire si vous pensez qu'ils ne savent pas que les systèmes d'acceptation / vote existent, mais n'en prennent pas l'habitude. Soyez ici parce que vous voulez aider les gens, pas à cause des points de licorne.