golfinhu Posted December 13, 2010 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
funkey Posted December 13, 2010 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.
golfinhu Posted December 13, 2010 Author 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!
Zedna Posted December 13, 2010 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
Luviju Posted November 15, 2012 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
dany Posted November 15, 2012 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
mvk25 Posted December 23, 2013 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
Bert Posted December 23, 2013 Posted December 23, 2013 The Vollatran project My blog: http://www.vollysinterestingshit.com/
guinness Posted December 23, 2013 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
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