SoyArcano Posted June 2, 2017 Share Posted June 2, 2017 (edited) Hello i want to split one letter large will be this: Quote string longtext = "Une population plus nombreuse et plus âgée, des maladies plus fréquentes… En 2020, la France devrait compter 548 000 personnes de plus qu’en 2015 atteintes d’au moins une pathologie chronique ou nécessitant un traitement au long cours (diabète, cancer, maladie psychiatrique…). Cette projection inédite a été dévoilée mercredi 31 mai par la Caisse nationale de l’assurance-maladie des travailleurs salariés (CNAMTS) à l’occasion de la présentation d’une analyse « médicalisée » des dépenses de santé en 2015. Pour la première fois, les statisticiens de la CNAM ont croisé les prévisions démographiques de l’Insee et les évolutions prévisibles des principales pathologies. L’objectif était d’établir celles qui connaîtront les plus fortes hausses d’effectifs ces prochaines années et ainsi mieux « identifier les leviers de maîtrise de dépenses ». Entre 2015 et 2020, le nombre de personnes atteintes d’une maladie cardio-neuro-vasculaire devrait par exemple grimper de 13 % et passer de 4,5 millions à 5,1 millions de patients, les deux tiers de cette hausse s’expliquant par la seule évolution démographique, soit en l’occurrence le vieillissement de la population. D’autres pathologies devraient également connaître de fortes hausses de leurs effectifs au cours de cette période : + 12 % pour le diabète (455 000 patients de plus), + 10 % pour les maladies respiratoires chroniques (340 000 patients de plus), + 11 % pour les maladies psychiatriques (100 000 patients de plus), + 20 % pour les maladies inflammatoires (234 000 patients de plus). Des hausses spectaculaires qu’il faut lire avec prudence car les patients qui cumulent plusieurs pathologies sont comptabilisés plusieurs fois. Ayden Tajahmady, le directeur adjoint de la stratégie et des études statistiques à la CNAM, explique : « Cette progression peut paraître importante mais il n’y a pas d’explosion. C’est la poursuite d’une tendance qui tend même à se ralentir en raison d’une évolution démographique plus modérée. » L’augmentation du nombre de patients atteints de maladies cardio-neuro-vasculaires ne serait ainsi que de 2,7 % par an jusqu’en 2020, contre 3,3 % chaque année entre 2013 et 2015. Plus exceptionnellement, on assiste même à quelques diminutions d’effectifs. Le nombre de personnes prenant des traitements psychotropes ou des traitements du risque cardio-vasculaire devrait ainsi « reculer respectivement de 8 % et de 6 % ». Budget contraint Une évolution du nombre de malades à laquelle l’Assurance-maladie devra répondre avec un budget contraint, ce qui l’oblige, comme elle le détaille chaque année à la fin du mois de juin, à engager des actions de prévention ou de « maîtrise médicalisée » des dépenses (réduction de la durée de séjour à l’hôpital, optimisation de l’utilisation des ambulances, etc.). Emmanuel Macron a annoncé pendant la campagne qu’il entendait plafonner la progression des dépenses à 2,3 % chaque année (contre 2,1 % cette année, et 1,75 % en 2016). Mercredi, la CNAM n’a pas souhaité chiffrer les dépenses supplémentaires qu’entraîneront nécessairement ces centaines de milliers de nouveaux patients. « Ce calcul aurait été trop hasardeux, chaque pathologie ayant vingt-sept postes de dépense différents », souligne M. Tajahmady, en rappelant qu’il est aujourd’hui impossible de prédire l’évolution du prix de certains traitements médicamenteux. L’Assurance-maladie s’est toutefois prêtée à cet exercice a posteriori pour certaines maladies. Elle a par exemple constaté une hausse de la dépense moyenne de soins pour le traitement du cancer du sein, passée de 11 288 euros par patiente par an en 2012 à 12 035 euros en 2015. Une augmentation due à un recours croissant à des nouveaux médicaments, plus onéreux. A contrario, la dépense moyenne annuelle par patient traité pour une maladie coronaire chronique, comme une angine de poitrine, a baissé de 2,7 % entre 2012 et 2015 en raison de la baisse des prix de certains médicaments et une diminution des dépenses d’hospitalisation, « concomitante à une hausse des soins infirmiers en ville »." and i want to split string so i can put a limit on each sub-string . i mean some way to separate my string using &_ but not using the hands without doing mechanic some way to split x each amount of string example: "Une population plus nombreuse et plus âgée" &_ "the follow text..." ... Some way to do splitting text or other way? Edited June 2, 2017 by SoyArcano Link to comment Share on other sites More sharing options...
czardas Posted June 2, 2017 Share Posted June 2, 2017 Maybe this could be useful: https://www.autoitscript.com/wiki/Snippets_(_AutoIt_String_)#StringEqualSplit operator64 ArrayWorkshop Link to comment Share on other sites More sharing options...
iamtheky Posted June 3, 2017 Share Posted June 3, 2017 (edited) what are your thoughts on this mod, per the OPs needs: Local $sSplit = _StringEqualSplit_au3("12345678910", 3) msgbox(0, '' ,$sSplit) Func _StringEqualSplit_au3($sString, $iNumChars, $var = "sSplit" & $iNumChars & "Var") If Not IsString($sString) Or $sString = "" Then Return SetError(1, 0, 0) If Not IsInt($iNumChars) Or $iNumChars < 1 Then Return SetError(2, 0, 0) Return "$" & $var & " = " & stringtrimright(StringRegExpReplace($sString, "((?s).{1," & $iNumChars & "})", '"' & "$1" & '"' & " & _" & @CR) , 4) EndFunc And this version with &= Local $sSplit = _StringEqualSplit_au3("12345678910", 3) msgbox(0, '' ,$sSplit) Func _StringEqualSplit_au3($sString, $iNumChars, $var = "sSplit" & $iNumChars & "Var") If Not IsString($sString) Or $sString = "" Then Return SetError(1, 0, 0) If Not IsInt($iNumChars) Or $iNumChars < 1 Then Return SetError(2, 0, 0) Return "$" & $var & " = " & '""' & @CR & StringRegExpReplace($sString, "((?s).{1," & $iNumChars & "})", "$" & $var & " &= " & '"' & "$1" & '"' & @CR) EndFunc Edited June 3, 2017 by iamtheky czardas 1 ,-. .--. ________ .-. .-. ,---. ,-. .-. .-. .-. |(| / /\ \ |\ /| |__ __||| | | || .-' | |/ / \ \_/ )/ (_) / /__\ \ |(\ / | )| | | `-' | | `-. | | / __ \ (_) | | | __ | (_)\/ | (_) | | .-. | | .-' | | \ |__| ) ( | | | | |)| | \ / | | | | | |)| | `--. | |) \ | | `-' |_| (_) | |\/| | `-' /( (_)/( __.' |((_)-' /(_| '-' '-' (__) (__) (_) (__) Link to comment Share on other sites More sharing options...
czardas Posted June 3, 2017 Share Posted June 3, 2017 (edited) 8 hours ago, iamtheky said: And this version with &= I think it's very good. Apart from one thing. You need to account for double quotes occurring within the string. Something like this: Local $aArray = _StringEqualSplit("12345678910""", 3), _ $sSplit = "$sSplit", _ $sCode = $sSplit & " = """"" & @CR For $i = 0 To UBound($aArray) -1 $sCode &= $sSplit & " &= """ & StringReplace($aArray[$i], """", """""") & """" & @CR Next msgbox(0, '', $sCode) Func _StringEqualSplit($sString, $iNumChars) If Not IsString($sString) Or $sString = "" Then Return SetError(1, 0, 0) If Not IsInt($iNumChars) Or $iNumChars < 1 Then Return SetError(2, 0, 0) Return StringRegExp($sString, "(?s).{1," & $iNumChars & "}", 3) EndFunc There might also be other considerations. It's still very good. Back over to you! Edited June 3, 2017 by czardas operator64 ArrayWorkshop Link to comment Share on other sites More sharing options...
jchd Posted June 3, 2017 Share Posted June 3, 2017 For good result I'd drop the text to Word or another text processor offering good support for smart line wrapping and linguistically correct hyphenation. I only hope it's possible to get back the result after width shrinking (maybe by sending the result to a typewriter-style printer driver redirected to a file). Perfect result would be provided by [La]TeX of course but it isn't obvious to use the first time you see it. This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe hereRegExp tutorial: enough to get startedPCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta. SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt) Link to comment Share on other sites More sharing options...
czardas Posted June 3, 2017 Share Posted June 3, 2017 You could also just spilt the binary. This would be the safest route of all. operator64 ArrayWorkshop Link to comment Share on other sites More sharing options...
iamtheky Posted June 3, 2017 Share Posted June 3, 2017 (edited) This is just setting a long string to a variable and simply splitting it with line continuations. none of those concerns are present because the line breaks aren't real and only exist in the code. If the OP were attempting to display this format of string to the user I could understand the wants, but when setting to $var.... Edited June 3, 2017 by iamtheky ,-. .--. ________ .-. .-. ,---. ,-. .-. .-. .-. |(| / /\ \ |\ /| |__ __||| | | || .-' | |/ / \ \_/ )/ (_) / /__\ \ |(\ / | )| | | `-' | | `-. | | / __ \ (_) | | | __ | (_)\/ | (_) | | .-. | | .-' | | \ |__| ) ( | | | | |)| | \ / | | | | | |)| | `--. | |) \ | | `-' |_| (_) | |\/| | `-' /( (_)/( __.' |((_)-' /(_| '-' '-' (__) (__) (_) (__) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now