2011-09-23 42 views
7

Tôi đang tìm cách chuyển đổi chữ cái đầu tiên của chuỗi thành chữ thường. Mã tôi đang sử dụng kéo một chuỗi ngẫu nhiên từ một mảng, hiển thị chuỗi trong chế độ xem văn bản và sau đó sử dụng chuỗi đó để hiển thị hình ảnh. Tất cả các chuỗi trong mảng có chữ cái đầu tiên của họ được viết hoa nhưng các tệp hình ảnh được lưu trữ trong ứng dụng không thể có chữ cái viết hoa, tất nhiên.Android: Chuyển đổi chữ cái đầu tiên của chuỗi thành chữ thường

String source = "drawable/" 
//monb is randomly selected from an array, not hardcoded as it is here 
String monb = "Picture"; 

//I need code here that will take monb and convert it from "Picture" to "picture" 

String uri = source + monb; 
    int imageResource = getResources().getIdentifier(uri, null, getPackageName()); 
    ImageView imageView = (ImageView) findViewById(R.id.monpic); 
    Drawable image = getResources().getDrawable(imageResource); 
    imageView.setImageDrawable(image); 

Cảm ơn!

Trả lời

15
if (monb.length() <= 1) { 
     monb = monb.toLowerCase(); 
    } else { 
     monb = monb.substring(0, 1).toLowerCase() + monb.substring(1); 
    } 
+0

đơn giản và hiệu quả! Cảm ơn – cerealspiller

8
public static String uncapitalize(String s) { 
    if (s!=null && s.length() > 0) { 
     return s.substring(0, 1).toLowerCase() + s.substring(1); 
    } 
    else 
     return s; 
} 
2

Google Ổi là một thư viện java với rất nhiều tiện ích và các thành phần tái sử dụng. Điều này yêu cầu thư viện guava-10.0.jar để ở trong classpath. Ví dụ sau cho thấy sử dụng các chuyển đổi CaseFormat khác nhau.

import com.google.common.base.CaseFormat; 

public class CaseFormatTest { 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 

    String str = CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_UNDERSCORE, "studentName"); 
    System.out.println(str); //STUDENT_NAME 

    str = CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "STUDENT_NAME"); 
    System.out.println(str); //studentName 


    str = CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_CAMEL, "student-name"); 
    System.out.println(str); //StudentName 

    str = CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_HYPHEN, "StudentName"); 
    System.out.println(str); //student-name 
    } 

} 

Output Giống như:

STUDENT_NAME 
studentName 
StudentName 
student-name 
Các vấn đề liên quan