如果我使用以下内容将txt文件加载到我的Flash影片中......
var myTextLoader:URLLoader = new URLLoader();
myTextLoader.addEventListener(Event.COMPLETE, onLoaded);
function onLoaded(e:Event):void {
var myArrayOfLines:Array = e.target.data.split("a")
trace(myArrayOfLines);
}
myTextLoader.load(new URLRequest("OoS/OoS-intro.txt"));
我导入了我的文本,每次找到字母“a”时它都会分开。没关系。
我如何计算文本中“a”或“和”(例如)的次数?
感谢您提供的任何帮助:)
答案 0 :(得分:2)
好吧,使用str.split('a')
,使用"a"
的示例输入,您会得到长度为2的结果。因此,使用str.split
,您可以假设该字母的计数次数为测试中的特征是str.split
的结果数组的长度 - 。
var res:Array = "a".split('a');
trace (res.length) // 2
trace (res) // , -- empty string on either side of the split
var count:int = res.length - 1 // 1
res = "aa".split('a');
trace (res.length) // 3
trace (res) // , , -- empty string times 3!
count = res.length - 1 // 2
这不是最好的解决方案,但确实有效。您还可以使用RegExp
或其他各种方法。
答案 1 :(得分:1)
// less objects created:
var s:String = " sfd sfd aa sfd sa asfd asfd asfd asdf asdf aa";
trace( s.match(/a/g).length );
// more generically:
var txt:String = "a";
var pattern:RegExp = new RegExp(txt,"g");
trace(s.match(pattern).length);
// to see what is going on:
trace(s.split("a").length);
trace(s.split("a"));
trace(s.match(/a/g));
将'a'替换为任何文字。