我正在寻找一种方法将字符串的第一个字母转换为小写字母。我正在使用的代码从数组中提取随机字符串,在文本视图中显示字符串,然后使用它来显示图像。当然,数组中的所有字符串的首字母大写,但存储在应用程序中的图像文件不能包含大写字母。
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);
谢谢!
答案 0 :(得分:17)
if (monb.length() <= 1) {
monb = monb.toLowerCase();
} else {
monb = monb.substring(0, 1).toLowerCase() + monb.substring(1);
}
答案 1 :(得分: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 :(得分:2)
Google Guava是一个包含大量实用程序和可重用组件的java库。这要求库guava-10.0.jar位于类路径中。以下示例显示了使用各种CaseFormat
次转化。
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
}
}
输出赞:
STUDENT_NAME
studentName
StudentName
student-name