Flash 如何按字母顺序比较Actionscript 3中的两个字符串 我在C++中使用了STRCMP(x,y)。你知道如何在as3中做到这一点吗

Flash 如何按字母顺序比较Actionscript 3中的两个字符串 我在C++中使用了STRCMP(x,y)。你知道如何在as3中做到这一点吗,flash,actionscript-3,Flash,Actionscript 3,谢谢 您可以使用普通操作数!=!= 您必须自己实现该功能。这只是一个例子,当然要比这个多做一些工作 private function strComp( string1:String , string2:String ):int { var counter:int; for( var i:int ; i < string1.length ; ++i ) { if( string1.getCharAt(i) == string2.getCha

谢谢

您可以使用普通操作数!=!=<>

您必须自己实现该功能。这只是一个例子,当然要比这个多做一些工作

 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;
 }
私有函数strComp(string1:String,string2:String):int
{
var计数器:int;
for(变量i:int;i
如果您想要的是一个简单的字符串比较,就不用自己编写了

var result:int = ObjectUtil.compare("stringA","stringB");

这就达到了您想要的效果。

对于完整的Unicode字符串比较,您应该使用localeCompare方法:

var比较:int=a.localeCompare(b)

它将返回前两个不同字母之间的字母顺序差(无论不同字母是第一个还是任何其他字母),如果字符串相同,则返回零。如果字母表中“a”排在第一位,则数字为负数;如果字母表中“b”排在第一位,则数字为正数

因此,您必须检查:

比较<0
(“a”排在第一位)

compare==0
(相同的字符串)

compare>0
(“b”排在第一位)


您还应该事先确保a和b都是小写的(或者都是大写,没关系,但都应该是同一个大小写),因为localeCompare认为大写和小写是完全不同的字母(这是因为此方法执行Unicode字符表比较;大写字母排在第一位).

你想完成什么?结果如何?我不熟悉C++中的StrcMP函数,我希望如果字符串A==B,则返回0的函数;如果a>b(按字母顺序),则返回1;如果ab和a