golfinhu Posted December 13, 2010 Share Posted December 13, 2010 (edited) hi people, i need a little help...how can I replace words with accent on non-accented words?i tryed this:StringRegExpReplace("áéíóúãõâêîôû", "[áéíóúãõâêîôû]", "[aeiou]")I do not know the correct expression, can someone help me please?thanks! Edited December 13, 2010 by golfinhu Link to comment Share on other sites More sharing options...
funkey Posted December 13, 2010 Share Posted December 13, 2010 $sResult = _StringReplaceAccend("áéíóúãõâêîôû") ConsoleWrite($sResult & @CRLF) Func _StringReplaceAccend($sString) Local $Pattern[5][2] = [["[áãâ]", "a"], ["[éê]", "e"], ["[íî]", "i"], ["[óõô]", "o"], ["[úû]", "u"]] For $i = 0 To 4 $sString = StringRegExpReplace($sString, $Pattern[$i][0], $Pattern[$i][1]) Next Return $sString EndFunc Belini 1 Programming today is a race between software engineers striving tobuild bigger and better idiot-proof programs, and the Universetrying to produce bigger and better idiots.So far, the Universe is winning. Link to comment Share on other sites More sharing options...
golfinhu Posted December 13, 2010 Author Share Posted December 13, 2010 $sResult = _StringReplaceAccend("áéíóúãõâêîôû") ConsoleWrite($sResult & @CRLF) Func _StringReplaceAccend($sString) Local $Pattern[5][2] = [["[áãâ]", "a"], ["[éê]", "e"], ["[íî]", "i"], ["[óõô]", "o"], ["[úû]", "u"]] For $i = 0 To 4 $sString = StringRegExpReplace($sString, $Pattern[$i][0], $Pattern[$i][1]) Next Return $sString EndFunc thankyou so much! Link to comment Share on other sites More sharing options...
Zedna Posted December 13, 2010 Share Posted December 13, 2010 (edited) Func _StringReplaceAccend($sString)This function can be handy!Thanks for sharing.But my question is:Can it be done by only one RegExpReplace? Because for large texts this methos is non optimal for speed/memory resources. Edited December 13, 2010 by Zedna Resources UDF ResourcesEx UDF AutoIt Forum Search Link to comment Share on other sites More sharing options...
Luviju Posted November 15, 2012 Share Posted November 15, 2012 Func _StringReplaceAccend($sString) Local $Pattern[12][2] = [["[áâàäã]", "a"], ["[éêèë]", "e"], ["[íîìï]", "i"], ["[óôòöõ]", "o"], ["[úûùü]", "u"], ["[ÁÂÀÄÃ]", "A"], ["[ÉÊÈË]", "E"], ["[ÍÎÌÏ]", "I"], ["[ÓÔÒÖÕ]", "O"], ["[ÚÛÙÜ]", "U"], ["[ýÿ]", "y"], ["[ÝŸ]", "Y"]] For $i = 0 To 11 $sString = StringRegExpReplace($sString, $Pattern[$i][0], $Pattern[$i][1]) Next Return $sString EndFunc Link to comment Share on other sites More sharing options...
dany Posted November 15, 2012 Share Posted November 15, 2012 But my question is:Can it be done by only one RegExpReplace? Because for large texts this methos is non optimal for speed/memory resources.Sadly no. A regexp pattern for this case isn't that hard, it's the replacing that can't be grouped. [center]Spiderskank Spiderskank[/center]GetOpt Parse command line options UDF | AU3Text Program internationalization UDF | Identicon visual hash UDF Link to comment Share on other sites More sharing options...
mvk25 Posted December 23, 2013 Share Posted December 23, 2013 I improved the function written by funkey by expanding the range of accented charachters it can replace. $stest = "á|â|à|å|ä ð|é|ê|è|ë í|î|ì|ï ó|ô|ò|ø|õ|ö ú|û|ù|ü æ ç ß abc ABC 123" $stest = _StringReplaceAccend($stest) ConsoleWrite(@LF & @LF & "+>" & $stest & @LF & @LF) Func _StringReplaceAccend($sString) Local $exp, $rep Local $pattern[27][2] = [ _ ["[ÀÁÂÃÅÆ]", "A"],["[àáâãå]", "a"],["Ä", "Ae"],["[æä]", "ae"], _ ["Þ", "B"],["þ", "b"], _ ["Ç", "C"],["ç", "c"], _ ["[ÈÉÊË]", "E"],["[èéêë]", "e"], _ ["[ÌÍÎÏ]", "I"],["[ìíîï]", "i"], _ ["Ñ", "N"],["ñ", "n"], _ ["[ÒÓÔÕÖØ]", "O"],["[ðòóôõöø]", "o"], _ ["[Š]", "S"],["[š]", "s"], _ ["ß", "Ss"], _ ["[ÙÚÛ]", "U"],["[ùúû]", "u"],["Ü", "Ue"],["ü", "ue"], _ ["Ý", "Y"],["[ýýÿ]", "y"], _ ["Ž", "Z"],["ž", "z"]] For $i = 0 To (UBound($pattern) - 1) $exp = $pattern[$i][0] If $exp = "" Then ContinueLoop $rep = $pattern[$i][1] $sString = StringRegExpReplace($sString, $exp, $rep) If @error == 0 And @extended > 0 Then ConsoleWrite($sString & @LF & "--> " & $exp & @LF) EndIf Next Return $sString EndFunc ;==>_StringReplaceAccend Belini 1 Link to comment Share on other sites More sharing options...
Bert Posted December 23, 2013 Share Posted December 23, 2013 The Vollatran project My blog: http://www.vollysinterestingshit.com/ Link to comment Share on other sites More sharing options...
guinness Posted December 23, 2013 Share Posted December 23, 2013 mvk25,You would have been better off posting in the Examples section and having a link to this thread. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 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