ActionScript 3.0 :: String.split() Using Regex Not Working
May 12, 2011
I rarely use regular expressions and still have a hard time reading/writing them sometimes (getting better, though), but I came across a situation where I needed to split up sentences in a text file and store each sentence as a separate item in an array.
To do this, I have tried to use the split() function by passing it a regex to detect ends of sentences... for most cases, anyway, which includes ., !, or ?, optionally followed by " or )
(What this code does is split on condition of a blank space but only where it finds a preceding/prefix that includes end punctuation, plus a lookahead/suffix that contains the beginning of a sentence, such as a capital letter)
The problem is that this doesn't seem to work. It works like a charm when I test it in Expresso free regex writing and testing software), but then when I try to send it to the split, it doesn't split the items. Do I need to do escapes for special characters when sending regex input to a split?
I have piece of ActionScript code which is supposed to evaluate a string of HTML and break it up into individual pieces. So a string like <p>Hi</p><span>Hi</span><a href="index.php">Hi</a> would be translated into:
However, when I run a test version of this code, I get a value of null in return. I'm pretty sure my regexp string is good, but I'm doing something wrong in ActionScript. My code is below: var evaluatedInput:RegExp = new RegExp('/<([A-Z][A-Z0-9]*)[^>]*>(.*?)</1>/'); var output:Object = evaluatedInput.exec("<p>Hi</p><span>Hi</span><a href="index.php">Hi</a>"); trace(output);
In Actionscript and Adobe Flex, I'm using a pattern and regexp (with the global flag) with the string.match method and it works how I'd like except when the match returns multiple occurrences of the same word in the text. In that case, all the matches for that word point only to the index for the first occurrence of that word. For example, if the text is "cat dog cat cat cow" and the pattern is a search for cat*, the match method returns an array of three occurrences of "cat", however, they all point to only the index of the first occurrence of cat when i use indexOf on a loop through the array. I'm assuming this is just how the string.match method is. I want to find the specific indices of every occurrence of a match, even if it is of a word that was already previously matched.
Trying to replace a portion of a string with a "-" if it matches a string variable in AS3.
var re:RegExp = new RegExp(imageArray[j][1],"gi"); trace(imageArray[jTemp][2].replace(re,"-"));
imageArray[jTemp][2] is a string imageArray[j][1] is a string as well I'm not getting the result I expect. I would like trace above to return 'permanentContainer-' Here are the traces for the above variables
I'm trying to work with RegEx to split a large string into smaller sections, and as part of this I'm trying to replace all instances of a substring in this larger string. I've been trying to use the replace function but this only replaces the first instance of the substring. How can I replace al instances of the substring within the larger string?
I have a string that contains a full name input, and I would like to spilt them into 2 parts and save them inside an array, first name and last name. How do I do it with string.split? My current code is myNameArray = str_adminInput.split(" "); This code only works if the names are : Jack Lee, June Poh. This code does not work if the names are: Lee Tok Kong, Tan Beng Seng.
I have absolutely no knowledge in Regex whatsoever. Basically what I'm trying to do is have an error class that I can use to call errors (obviously) which looks like this:
package avian.framework.errors { public class AvError extends Object {
[Code].....
The idea is to replace {0} with the first parameter parsed in ...params, {1} with the second, etc.
I've done a bit of research and I think I've worked out that I need to search using this pattern:
I have a text field within Flash that contains a block of (obviously) text. What I want to do is perform a search on the content of the text field that returns the x & y coordinate and the width & height of the found text. The result will be used to place a visual element over that portion of the text box.
For example: var pattern:RegExp = /d+/g; var found:Array = box.text.match(pattern); var i:String; for each(i in found) { /** * Find the x, y, width, height of the matched text in the text field * Use result to place transparent yellow box around text */ } Which visually should result in something like:
I'm trying to use a string from a split command as the var name of a new array the string being split is spec0[1][400] where spec0 becomes the new array name after the split.How should i write this.....P.S. the ultimate goal is to take the string split it up and make a new array out of its split data......is this realistic?
PHP Code: trace(loader.data.spec0); var str:String = loader.data.spec0;
This works fine but when I upload to my clients server the url might be somewhat different. Is there a way to split off the last 14 characters and see if they = slideShow2.swf or is there a command if the string contains "slideShow2.swf".
I want to add this String into the ArrayCollection. And the above String should be divided by mail id and remove the ; symbol and need to add asArrayCollection
tempAc:Arraycollection = new ArrayCollection{abc@abc.com, xyz@xyz.com}
I have been using as3 for a while now although I am unsure of how to split the data. I am currently writing a custom score board for the Finish Lynx System using serial comms and tinker proxy. RUNOFFICIAL <= I don't know how to split this string?
Currently I am trying to make a function that will split a text from an input box when it detects a return/enter. I know how I can save this stuff when encountering a space -
ActionScript Code:
var puzzles:Array; puzzles = boxInPut.text.split(" ");
However, what kind of code should I enter between the "" when I want to detect a return? Detecting and saving stuff on runtime is not a good option - I'd rather save and run all the data that the user enters once the 'process' button is clicked by the user. So I need the split function to work with that as well.
I'm having a big issue getting a string to split into two pieces, and I can't for the life of me work out why. This is a function that is run, with the midText var, being a number between 0-100, spat out from a loader. I've traced it, and it seems fine, but my splitter function just wont work! The function works fine if you simple define a var in the code
I'm trying to convert a String into an Array of words. To do so I split the String when a space is met, and make a new Array containing only the words. The problem is when I try to get rid of any whitespace. The code works as intended for the whitespace between the words but ALWAYS fails to remove ONE whitespace if there are spaces at the start of my String.
[Code]....
As seen it accounts the last whitespace in front of my sentence as a word and doesn't remove from the Array.
I tried to use it and it returns null, although the same string tested on RegExr works fine:
var linkRegEx:RegExp = new RegExp("(https?://)?(www.)?([a-zA-Z0-9_%]*).[a-z]{2,4}(.[a-z]{2})?((/[a-zA-Z0-9_%]*)+)?(.[a-z]*)?(:d{1,5})?","g"); var link:String = 'generic links: www.google.com http://www.google.com google.com';
I have a string that is similar to a path, but I have tried some regex patterns that are supposed to parse paths and they don't quite work.
Here's the string f|MyApparel/Templates/Events/ I need the "name parts" between the slashes. I tried (w+) but the array came back [0] = "f" and [1] = "f". I tested the pattern on [URL] and it seems to work correctly.
Here's the AS code: var pattern : RegExp = /(w+)/g; var hierarchy : Array = pattern.exec(params.category_id); params.name = hierarchy.pop() as String;
I'm new to actionscript and i cant seem to get the regex syntax right in actionscript3. The task is straight forward, i want to make sure that the first two characters in a given string are alphabets and nothing else.[code]
I don't know anything about regular expressions and I don't really have the time to study them at the moment.I have a string like this:test (22/22/22)I need to capture the test and the date 22/22/22 in an array. the test string could also be a multiple words string:test test(1) tes-t (22/22/22)should capture test test(1) tes-t and 22/22/22I have no idea how to get started on this. I managed to capture the date string with the parentheses by doing:(.*)but that really doesn't get me anywhere.
In the below code if i replace st2 into the pattern of regexp without quotes, it works fine.Now since i get the regular expression from some other file, as it is shown in st2. I want to add that into the regexp pattern. But as in the below code it doesnt work.
<fx:Script> import mx.controls.Alert public function onClicking(){
I want to know if is possibile through regularexpression, count the numbers contained into a string and add a specified character near it.
For exemple, this is a string: Hello2all821abc13 This string contain 3 numbers: 2, 821 and 13 (note that the numbers contained into 821 and 13 are considered like an unique entity, not signle). I want to add near each of it the "-" symbol. Is it possible?
How to create an array from a string. The string will look something like this:
Code: Main Idea -Idea 1 --Idea 1 sub point 1 -Idea 2 --Idea 2 sub point 1 ---Idea 2 sub point 1 subsub 1 ---Idea 2 sub point 1 subsub 2 --Idea 2 sub point 2 -Idea 3
Each "-" indicates a child relationship or 'Sub'. Each child can have any number of children which can have any number of children.
When you want to split a string in to an array, seperated by the letter "e" for example. So string: 0e5e8e7 would become 0,5,8,7..[code]Is there a way you could split a string by multiple values? So instead of it splitting the string when it comes across "e", could you have it split when it comes across "e", or another character.
I'm trying to take the letters I have in a string var, eg "EXAMPLE", and display them in a textField like so:[code]Maybe I'm trying to make it too complicated, but I can't seem to figure it out. I'm using the following code:[code]The textFeild shows nothing (the textField is coded correctly, as it shows regular strings).However, the trace shows it as:[code]I've got the textfield set large enough to accomodate the text.Is there a better way to split a string into individual letters, and then display them in a field one above the other?