Did it never occur to you, working with text strings, the need to extract only a part of that string?
In this article, I will show you how to use the substr() and substring() methods of the String Class in Actionscript 3.0.
Both of them returns a string value based on the 2 parameters received.
Let's take a look at them...
The substr() method.
wants two pararmeters:
- startIndex: an integer that indicates the position of the first character to be used
- length: the number of characters extracted after the startIndex
The substring() method.
wants two parameters:
- startIndex: an integer that indicates the position of the first character to be used
- endIndex: an integer that indicates the position of the last character to be used
To better understand these 2 methods, I created a Document Class as example:
The output returned by Flash is the following:Code:package { import flash.display.MovieClip; public class Substringa extends MovieClip { public function Substringa() { init(); } private function init():void { var testo:String='FlepStudio'; trace(testo.substr(0,4)); trace(testo.substring(0,4)); trace('-------------------------'); trace(testo.substr(1,5)); trace(testo.substring(1,5)); trace('-------------------------'); trace(testo.substr(4,6)); trace(testo.substring(4,6)); trace('-------------------------'); } } }
Let's analyse the code.Flep
Flep
-------------------------
lepSt
lepS
-------------------------
Studio
St
-------------------------
I have a String variable with some text
var testo1:String='FlepStudio';
First case:
I use substr() passing the values: zero as startIndex (so it will start from the first character) and 4 as length (it will move of 4 positions starting from the first character)
trace(testo1.substr(0,4));
I use substring() passing the values: zero as startIndex (so it will start from the first character) and 4 as endIndex (it will move till the fourth position and stop)
trace(testo1.substring(0,4));
Second case:
I use substr() passing the values: 1 as startIndex (so it will start from the second character) and 5 as length (it will move of 5 positions starting from the second character)
trace(testo2.substr(1,5));
I use substring() passing the values: 1 as startIndex (so it will start from the second character) and 5 as endIndex (it will move till the fifth position and stop)
trace(testo2.substring(1,5));
Third case:
I use substr() passing the values: 4 as startIndex (so it will start from the fifth character) and 6 as length (it will move of 6 positions starting from the fifth character)
trace(testo.substr(4,6));
I use substring() passing the values: 4 as startIndex (so it will start from the fifth character) and 6 as endIndex (it will move till the sixth position and stop)
trace(testo.substring(4,6));
Stay tuned !
Bookmarks