我在C ++中使用了strcmp(x,y)。你知道如何在as3中做到这一点吗?
谢谢!
答案 0 :(得分:8)
如果这是一个简单的字符串比较,那么就不要自己写一个。
var result:int = ObjectUtil.compare("stringA","stringB");
这实现了你正在寻找的东西。
答案 1 :(得分:7)
您可以使用普通的操作数!=!== ==< > < = =>
答案 2 :(得分:4)
对于完整的Unicode字符串比较,您应该使用方法localeCompare:
var compare:int = a.localeCompare(b);
它将返回前两个不同字母之间的字母差异(无论字母是否为第一个或任何其他字母),如果字符串相同则返回零。如果“a”在字母表中排在第一位,则该数字将为负数;如果在第一个字母中为“b”,则该数字为正数。
所以你必须检查:
compare < 0
(“a”首先出现)
compare == 0
(相同的字符串)
compare > 0
(“b”优先)
你还应该确保a和b都是事先小写的(或者都是大写的,没关系,但两者都应该是相同的情况),因为localeCompare认为大写和小写是完全不同的字母(这是因为此方法执行Unicode字符表比较;首先是大写字母表。)
答案 3 :(得分:0)
你必须自己实现这个功能。这只是一个例子,它当然需要比这更多的工作......
private function strComp( string1:String , string2:String ):int
{
var counter:int;
for( var i:int ; i < string1.length ; ++i )
{
if( string1.getCharAt(i) == string2.getCharAt(i) )
//increment counter
else
break;
}
return counter;
}