In Python and Ruby you can duplicate a string by running the multiply operator (
*) on a string object, and in perl you can use the
x operator. There have been many times when I've looked at this facility and said to myself "very nice, but isn't that a feature looking for a benefit" - in other words, something that's nice but not much use. Well ... there's always a few cases to disprove such a theory:
s/^(\s+)/" " x length($1)/e;
That's Perl - replace all leading spaces on a line with the same number of leading sequences.
(written 2006-12-07, updated 2006-12-09)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
Y108 - Python - String Handling [324] The backtick operator in Python and Perl - (2005-05-25)
[463] Splitting the difference - (2005-10-13)
[496] Python printf - (2005-11-15)
[560] The fencepost problem - (2006-01-10)
[773] Breaking bread - (2006-06-22)
[903] Pieces of Python - (2006-10-23)
[943] Matching within multiline strings, and ignoring case in regular expressions - (2006-11-25)
[954] Splitting Pythons in Bradford - (2006-11-29)
[1110] Python - two different splits - (2007-03-15)
[1195] Regular Express Primer - (2007-05-20)
[1517] Python - formatting objects - (2008-01-24)
[1608] Underlining in Perl and Python - the x and * operator in use - (2008-04-12)
[1876] Python Regular Expressions - (2008-11-08)
[2284] Strings as collections in Python - (2009-07-12)
[2406] Pound Sign in Python Program - (2009-09-15)
[2692] Flexible search and replace in Python - (2010-03-25)
[2721] Regular Expressions in Python - (2010-04-14)
[2765] Running operating system commands from your Python program - (2010-05-14)
[2780] Formatted Printing in Python - (2010-05-25)
[2814] Python - splitting and joining strings - (2010-06-16)
[3090] Matching to a string - what if it matches in many possible ways? - (2010-12-17)
[3218] Matching a license plate or product code - Regular Expressions - (2011-03-28)
[3349] Formatting output in Python through str.format - (2011-07-07)
[3468] Python string formatting - the move from % to str.format - (2011-10-08)
[3469] Teaching dilemma - old tricks and techniques, or recent enhancements? - (2011-10-08)
[3796] Backquote, backtic, str and repr in Python - conversion object to string - (2012-07-05)
[3886] Formatting output - why we need to, and first Python example - (2012-10-09)
[4027] Collections in Python - list tuple dict and string. - (2013-03-04)
[4152] Why are bus fares so high? - (2013-08-18)
[4213] Formatting options in Python - (2013-11-16)
[4307] Identifying and clearing denial of service attacks on your Apache server - (2014-09-27)
[4360] Python - comparison of old and new string formatters - (2014-12-22)
[4593] Command line parameter handling in Python via the argparse module - (2015-12-08)
[4595] Python formatting update - including named completions - (2015-12-10)
[4659] Prining a pound sign from Python AND running from the command line at the same time - (2016-03-03)
R109 - Ruby - Strings and Regular Expressions [986] puts - opposite of chomp in Ruby - (2006-12-15)
[987] Ruby v Perl - interpollating variables - (2006-12-15)
[1305] Regular expressions made easy - building from components - (2007-08-16)
[1588] String interpretation in Ruby - (2008-03-21)
[1875] What are exceptions - Python based answer - (2008-11-08)
[1887] Ruby Programming Course - Saturday and Sunday - (2008-11-16)
[1891] Ruby to access web services - (2008-11-16)
[2293] Regular Expressions in Ruby - (2009-07-16)
[2295] The dog is not in trouble - (2009-07-17)
[2608] Search and replace in Ruby - Ruby Regular Expressions - (2010-01-31)
[2614] Neatly formatting results into a table - (2010-02-01)
[2621] Ruby collections and strings - some new examples - (2010-02-03)
[2623] Object Oriented Ruby - new examples - (2010-02-03)
[2980] Ruby - examples of regular expressions, inheritance and polymorphism - (2010-10-02)
[3424] Divide 10000 by 17. Do you get 588.235294117647, 588.24 or 588? - Ruby and PHP - (2011-09-08)
[3621] Matching regular expressions, and substitutions, in Ruby - (2012-02-23)
[3757] Ruby - a teaching example showing many of the language features in short but useful program - (2012-06-09)
[3758] Ruby - standard operators are overloaded. Perl - they are not - (2012-06-09)
[4388] Global Regular Expression matching in Ruby (using scan) - (2015-01-08)
[4505] Regular Expressions for the petrified - in Ruby - (2015-06-03)
[4549] Clarrissa-Marybelle - too long to really fit? - (2015-10-23)
P205 - Perl - Initial String Handling [31] Here documents - (2004-08-28)
[254] x operator in Perl - (2005-03-22)
[1849] String matching in Perl with Regular Expressions - (2008-10-20)
[1860] Seven new intermediate Perl examples - (2008-10-30)
[2798] Perl - skip the classics and use regular expressions - (2010-06-08)
[2816] Intelligent Matching in Perl - (2010-06-18)
[2832] Are you learning Perl? Some more examples for you! - (2010-06-27)
[2963] Removing the new line with chop or chomp in Perl - what is the difference? - (2010-09-21)
[3005] Lots of ways of doing it in Perl - printing out answers - (2010-10-19)
[3411] Single and double quotes strings in Perl - what is the difference? - (2011-08-30)
[3547] Using Perl to generate multiple reports from a HUGE file, efficiently - (2011-12-09)
[3548] Dark mornings, dog update, and Python and Lua courses before Christmas - (2011-12-10)
[3770] Sample answers to training course exercises - available on our web site - (2012-06-21)
Some other Articles
The last commuter train through MelkshamToo much used to SkypeBoth one team and twoWiltshire letterboxesString duplication - x in Perl, * in Python and RubyPerl - $_ and @_Perl - a list or a hash?Realistic on line shoot'em upCSL, KISS and RTFMKISS - one action per statement please - Perl