查找字符串中单词出现的位置

时间:2011-06-10 12:20:47

标签: flash actionscript-3

我有一个以管道分隔的字符串“Y | Y | Y | N | N”。如何在处理字符串后使用代码找到第一次出现N的位置。

4 个答案:

答案 0 :(得分:2)

看起来你的问题应该是:

“我有一个管道描述的字符串。一旦管道被移除,我想要字符串中某些东西的索引”

// first occurrence of string "N" if you simply remove the pipes first.
var str:String = "Y|Y|Y|N|N";
var index:int = str.replace("|","").indexOf("N");

因为删除管道实际上可以连接字符串并导致误报,所以您可能需要考虑以下事项:

var str:String = "Y|Y|Y|N|N";
var pieces:Array = str.split("|");
for( var i:int = 0; i < pieces.length; i++ )
{
    if( pieces[ i ] == "N" ) break;
}
// i will now be the first index.

如果你只是想要删除管道,str.replace在AS3中工作,在AS2中你需要使用str.split(“|”)。join(“”);

答案 1 :(得分:1)

AS3支持很多这样简单的任务,

对于您的问题,只需使用:

str.indexOf("N");

其中str是你的字符串。

详细了解字符串函数here


编辑:

这也不是问题,这就是我将你链接到as3 docs的原因。你几乎不需要正则表达式。

str.replace("|","").indexOf("N");

答案 2 :(得分:0)

http://livedocs.adobe.com/flex/3/html/help.html?content=12_Using_Regular_Expressions_01.html

你的表达式会像“/Y\|Y\|Y\|(.)\|.\|/”(我没有测试过这个......)

测试它的好地方:http://ryanswanson.com/regexp/#start

答案 3 :(得分:0)

我希望我能正确理解你...你读过http://www.adobe.com/support/flash/action_scripts/actionscript_dictionary/actionscript_dictionary692.html吗?

indexOf 返回您在字符串中搜索的子字符串的位置。