Jump to content

How to add colon every 2 characters in string


Go to solution Solved by mikell,

Recommended Posts

Posted

I am trying to turn this "00204070F48F" into this: "00:20:40:70:F4:8F". I thought I could use _StringInsert but doesn't seem to be working

#include <MsgBoxConstants.au3>
#include <String.au3>

;turn this "00204070F48F" into this: "00:20:40:70:F4:8F"
$x = "00204070F48F"
$StrLen = StringLen($x)
$sInsertString = ":"
$pos = 2

DIM $results[6]
For $i = 0 To 4
    $results[$i] = _StringInsert ( $x, $sInsertString, $pos )
    $pos = $pos + 2
    msgbox(0, "", $results[$i])
Next
Posted

Something like this:

#include <MsgBoxConstants.au3>
#include <String.au3>

;turn this "00204070F48F" into this: "00:20:40:70:F4:8F"
Global $sX = "00204070F48F"
Global $sResult, $iPos = 2, $sInsertString = ":"
For $i = 0 To 6
    $sResult = $sResult & StringMid($sX, $i * 2 + 1, 2) & $sInsertString
Next
$sResult = StringLeft($sResult, 17)
MsgBox(0, "", $sResult)

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Posted

I'm sure some RegExp gurus will chime in with a one-liner :)

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Posted

Ahh ... here they are ;)

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Posted (edited)

Another way, a variant on kylomas' solution but with a positive lookahead assertion. Can't top mikell's solution in terms of leetness though.

$x = StringRegExpReplace($str, "(..)(?=.)", "$1:")
Edited by SadBunny

Roses are FF0000, violets are 0000FF... All my base are belong to you.

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...