2016-02-02 25 views

回答

0

通常你会用正则表达式来做,但AS2不支持它们。因此,另一个(老式)的解决方案将被分割在这些字符的字符串,然后再返回

这是假设你只有一个“)”,并在你的字符串一个“P”加入吧:

var myString:String = "AA55BBB(888)1234567890P1"; 

// this will result in an Array like ["AA55BBB(888", "1234567890P1"]; 
var firstSplit:Array = myString.split(")"); 

var firstPart:String = firstSplit[0]; // "AA55BBB(888" 
var secondPart:String = firstSplit[1]; // "1234567890P1" 

var secondSplit:Array = secondPart.split("P"); // ["1234567890","1"] 

secondPart = secondSplit[1]; //"1" 

// since we have removed the ")" and "P" on split, put them back in 
var newString:String = firstPart + ")P" + secondPart; 

trace(newString); // "AA55BBB(888)P1" 
+0

O soo Coool :)但现在它诞生了新的问题。我的代码的第一部分是E123XABCD。这总是相同的字符数如何将它们分开成为变量 E 123 X AB CD –

+0

如果你的数字和字母总是在同一个地方,那么在这里使用substr可能会更容易 - 它会给你一个零件的字符串(从startindex开始的X个字符)。例如,var part:String = firstPart.substr(1,3)将返回部分“123”,firstPart.substr(5,2)将返回“AB”。请注意,startIndex以0开头(字符串的第一个字符位于0) – Philarmon

+0

它的功能非常好!我用我的语言写。 “chodzizajebiściew ch * j”;) –