Flash / Flex / ActionScript/String/indexOf lastIndexOf
Содержание
- 1 Find all the occurrences of a substring.
- 2 Finding Substrings
- 3 Is indexOf case sensitive
- 4 Returns everything before the last period, if any.
- 5 Searching for a Substring
- 6 Use indexOf and lastIndexOf to locate specific string
- 7 Use indexOf( ) in a while statement to get the indices of every occurrence of a substring
- 8 Use indexOf in while loop to count the instance of a substring
- 9 Use indexOf to check the existance of an substring
- 10 Use lastIndexOf to search string
- 11 Use offset index in indexOf method to search substring
- 12 Use offset in lastIndexOf method
- 13 Use the lastIndexOf method to get the file extension name
Find all the occurrences of a substring.
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var sTitle:String = new String("ActionScript Bible"); var nMatch:Number = sTitle.indexOf("i"); while(nMatch != -1) { trace(nMatch); nMatch = sTitle.indexOf("i", nMatch + 1); }
} }
} 3 9 14
</source>
Finding Substrings
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var sTitle:String = new String("ActionScript"); trace(sTitle.indexOf("ActionScript")); trace(sTitle.indexOf("i")); trace(sTitle.lastIndexOf("i")); trace(sTitle.indexOf("i", 4)); trace(sTitle.lastIndexOf("i", 12)); trace(sTitle.indexOf("q")); trace(sTitle.lastIndexOf("g")); } }
} 0 3 9 9 9 -1 -1
</source>
Is indexOf case sensitive
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var example:String = "Cool. This is a cool as both cool (lowercase) and Cool."; var search:String = "cool"; trace( example.indexOf( search ) );
} }
}
</source>
Returns everything before the last period, if any.
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ trace( removeExtension( "document.jpg" ) ); // Displays: document trace( removeExtension( "document" ) ); // Displays: document trace( removeExtension( "document.1.jpg" ) ); // Displays: document.1 trace( extractExtension( "document.jpg" ) ); // Displays: .jpg trace( extractExtension( "document" ) ); // Displays nothing trace( extractExtension( "document.1.jpg" ) ); // Displays: .jpg
} private function removeExtension( filename:String ):String { var extensionIndex:Number = filename.lastIndexOf( "." ); if ( extensionIndex == -1 ) { return filename; } else { return filename.substr( 0, extensionIndex ); } } private function extractExtension( filename:String ):String { var extensionIndex:Number = filename.lastIndexOf( "." ); if ( extensionIndex == -1 ) { return ""; } else { return filename.substr( extensionIndex + 1, filename.length ); } } }
}
</source>
Searching for a Substring
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var example:String = "This string contains the word cool twice. Very cool."; var index:int = example.indexOf( "cool" ); if ( index != -1 ) { trace( "String contains word cool at index " + index ); } } }
}
</source>
Use indexOf and lastIndexOf to locate specific string
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var sEmail:String = new String("info@your.ru"); var nCheckOne:Number = sEmail.indexOf("@"); var nCheckTwo:Number = sEmail.lastIndexOf("."); if (nCheckOne!= -1 && nCheckTwo!= -1 && nCheckOne < nCheckTwo){ trace("good email address"); } } }
}
</source>
Use indexOf( ) in a while statement to get the indices of every occurrence of a substring
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var example:String = "This string contains the word cool. Very cool. Yes, cool."; var index:int = -1; while ( ( index = example.indexOf( "cool", index + 1 ) ) != -1 ) { trace( "String contains word cool at index " + index ); } } }
}
</source>
Use indexOf in while loop to count the instance of a substring
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){
var story:String = "It was a dark and stormy night..."; var pattern:String = "a"; var count:int = 0; var startIndex:int = 0; while (story.indexOf(pattern, startIndex) != -1) { count++; startIndex = story.indexOf(pattern, startIndex) + 1; } trace(count); } }
}
</source>
Use indexOf to check the existance of an substring
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var sTitle:String = new String("ActionScript Demo"); var nIndex:Number = sTitle.indexOf("Script"); if(nIndex != -1) { trace("substring was found"); } } }
}
</source>
Use lastIndexOf to search string
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var example:String = "This string contains the word cool twice. Very cool."; var index:int = example.lastIndexOf( "cool" ); if ( index != -1 ) { trace( "String contains word cool at index " + index ); } index = example.lastIndexOf( "cool", index - 1 ); if ( index != -1 ) { trace( "String contains word cool at index " + index ); } } }
}
</source>
Use offset index in indexOf method to search substring
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var example:String = "This string contains the word cool twice. Very cool."; var index:int = example.indexOf( "cool" ); if ( index != -1 ) { trace( "String contains word cool at index " + index ); } index = example.indexOf( "cool", index + 1 ); if ( index != -1 ) { trace( "String contains word cool at index " + index ); } } }
}
</source>
Use offset in lastIndexOf method
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var example:String = "This string contains the word cool. Very cool. Yes, cool."; var index:int = example.length; while ( ( index = example.lastIndexOf( "cool", index - 1 ) ) != -1 ) { trace( "String contains word cool at index " + index ); } } }
}
</source>
Use the lastIndexOf method to get the file extension name
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var filename:String = "document.jpg"; var extensionIndex:Number = filename.lastIndexOf( "." ); var extension:String = filename.substr( extensionIndex + 1, filename.length ); trace( "The file extension is " + extension ); } }
}
</source>