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 Réponses :
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
Je suis heureux que cela ait aidé! Bonne chance pour votre projet! : P
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)
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
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.
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