2012-09-19 70 views
-2

如何在字符串中設置區分大小寫?這是我的代碼下面比較字符串如何設置忽略大小寫在這條線?我的應用程序檢查字符串是否包含字符串中的「LOGIN」接收我如何添加ignorecase敏感所以更緊密的字符串包含「登錄」或「登錄」其啓動應用程序?如何在這一行忽略大小寫敏感?

public void onReceive(Context context, Intent intent) 
{ 

abortBroadcast(); 
    //---get the SMS message passed in---a 
    Bundle bundle = intent.getExtras();   
    SmsMessage[] msgs = null; 
    String str = ""; 



    if (bundle != null) 
    { 



     //---retrieve the SMS message received--- 
     Object[] pdus = (Object[]) bundle.get("pdus"); 
     msgs = new SmsMessage[pdus.length];    
     for (int i=0; i<msgs.length; i++){ 
      msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);     

      String phNum = msgs[i].getOriginatingAddress(); 

      str += msgs[i].getMessageBody().toString(); 
      if (specificPhoneNumber.equals(phNum)) 


      { 
       Uri uri = Uri.parse("content://sms/inbox"); 


       ContentResolver contentResolver = context.getContentResolver(); 

       String where = "address="+phNum; 
       Cursor cursor = contentResolver.query(uri, new String[] { "_id", 
    "thread_id"}, where, null, 
            null); 




       while (cursor.moveToNext()) { 




        long thread_id = cursor.getLong(1); 
        where = "thread_id="+thread_id; 
        Uri thread = Uri.parse("content://sms/inbox"); 
        context.getContentResolver().delete(thread, where, null); 


       } 


       if (str.contains("LOGIN")) 
         { 

       Intent l = new Intent(context,AgAppMenu.class); 



      l.putExtra("msg",str); 



       l.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
       context.startActivity(l); 

         } 
+0

使用本s.equalsIgnoreCase (「login」),其中s是一個字符串。 – karn

回答

1
String str="LOGIN" 

str.toLowerCase給 「登陸」

所以現在你要做的就是檢查 「登錄」(因爲一切都是小寫現在)

if (str.toLowerCase().contains("login")) //This works for "login, Login, LOGIN ..." 

@karn提到s.equalsIgnoreCase("login")女巫如果你想要平等,就會更光滑。

如果你確實去了s.equalsIgnoreCase("login")

如果您要檢查註冊/登錄是否是字符串中,然後用if (str.toLowerCase().contains("login"))

+0

但如果字符串包含「登錄」呢? –

+0

「登錄」.toLowerCase()=「登錄」。所以你用小寫()來做一切事情,並用「登錄」來檢查。即使「LoGIn」將工作 – weakwire

+0

如何設置忽略區分大小寫? –

0

去嘗試以下操作:

if (str.contains("LOGIN")||str.contains("login")) 

或嘗試:

if (str.equalsIgnoreCase("login)); 
+0

我知道這一點,但沒有其他解決方案存在? –

+0

這遠不區分大小寫。 toLowerCase是顯而易見的方法。 – keyser

+0

actully我知道這個詞是存在於字符串中,但是不知道用戶發給我的是哪種格式短信i​​mworking服務器站點應用程序所以不知道用戶wirte登錄登錄或登錄 –