我有一个以管道分隔的字符串“Y | Y | Y | N | N”。如何在处理字符串后使用代码找到第一次出现N的位置。
答案 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\|(.)\|.\|/”(我没有测试过这个......)
答案 3 :(得分:0)
我希望我能正确理解你...你读过http://www.adobe.com/support/flash/action_scripts/actionscript_dictionary/actionscript_dictionary692.html吗?
indexOf 返回您在字符串中搜索的子字符串的位置。