Rskm Posted July 31, 2018 Posted July 31, 2018 Hi, I have the following line in a text file 'input.txt'. I know the line number - say '6'. I wish to replace the text 'WWW' in the below line with a random number (I can generate that with random()). WERIS WWWJP 3.83 8.330 1.000 1097.RAXX The WWW is a 3 digit integer (could be any number between 0 to 999), I can use stringtrimleft and get the numerical value of WWW in this file so, basically, I know the string to replace (ie; WWW stored in a variable), I know the line number to work on and the file location/name and the replacement variable (through random()). My requirement is to fill that 3 spaces with my random number (which Is a integer between 1 and 999) please put ur suggestions
Developers Jos Posted July 31, 2018 Developers Posted July 31, 2018 Moved to the appropriate forum, as the AutoIt Example Scripts forum very clearly states: Quote Share your cool AutoIt scripts, UDFs and applications with others. Do not post general support questions here, instead use the AutoIt Help and Support forums. Moderation Team SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past.
ModemJunki Posted July 31, 2018 Posted July 31, 2018 (edited) 11 hours ago, Rskm said: please put ur suggestions Something like: #include <String.au3> $s_oldstring = "WERIS WWWJP 3.83 8.330 1.000 1097.RAXX" ConsoleWrite($s_oldstring & @CRLF) $s_newstring = StringReplace($s_oldstring, 8, _stringPad(random(0, 999, 1), '0', 3, 0)) ConsoleWrite($s_newstring & @CRLF) ; #FUNCTION# ==================================================================================================================== ; Name ..........: _stringPad ; Description ...: Pads a string to a specified length with a specified character. ; Syntax ........: _stringPad($string[, $pad = ' '[, $count = 10[, $opt = 1]]]) ; Parameters ....: $string - the string to pad. ; $pad - the character to use as the padding. Default is ' '. ; $count - the total width of the padded output. Default is 10. ; $opt - left (1) or right (0) justification of the input string. Default is 1. ; Return values .: String with padded values ; Author ........: Xenobiologist ; Modified ......: 31-07-2018 ; Remarks .......: requires #include <string.au3> ; Related .......: ; Link ..........: https://www.autoitscript.com/forum/topic/69925-how-do-i-pad-a-string/ ; Example .......: No ; =============================================================================================================================== Func _stringPad($string, $pad = ' ', $count = 10, $opt = 1) If $opt = 1 Then Return $string & _StringRepeat($pad, $count - StringLen($string)) Else Return _StringRepeat($pad, $count - StringLen($string)) & $string EndIf EndFunc ;==>_stringPad The function _stringPad created in 2008 by @Xenobiologist Edited July 31, 2018 by ModemJunki prettified _stringPad Always carry a towel.
Rskm Posted August 1, 2018 Author Posted August 1, 2018 @Jos, Sorry for posting on wrong window @ModemJunki, that really helped me. I was trying a lot with stringtrim and other options.. that piece of code just nailed it.. thanks a lot
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