我想知道是否有人可以向我提供一些代码或指向我,这可以解释我如何转换我的字符串,以便每个单词都以大写字母开头。
我还想用斜体字转换另一个字符串。
基本上,我的应用程序正在做的是从几个EditText框中获取数据,然后点击按钮,通过意图将其推送到下一页并连接成1段。因此,我假设我需要在初始页面上编辑我的字符串,并确保它以相同的格式传递。
提前致谢
答案 0 :(得分:1)
您可以使用Apache StringUtils。 capitalize方法将完成工作。
例如:
WordUtils.capitalize("i am FINE") = "I Am FINE"
或
WordUtils.capitalizeFully("i am FINE") = "I Am Fine"
答案 1 :(得分:1)
这是一个简单的功能
public static String capEachWord(String source){
String result = "";
String[] splitString = source.split(" ");
for(String target : splitString){
result
+= Character.toUpperCase(target.charAt(0))
+ target.substring(1) + " ";
}
return result.trim();
}
答案 2 :(得分:0)
最简单的方法是使用简单的Java内置函数。
尝试类似下面的内容(方法名称可能不完全正确,从头到尾):
String label = Capitalize("this is my test string");
public String Capitalize(String testString)
{
String[] brokenString = testString.split(" ");
String newString = "";
for(String s : brokenString)
{
s.charAt(0) = s.charAt(0).toUpper();
newString += s + " ";
}
return newString;
}
尝试一下,让我知道它是否适合你。
答案 3 :(得分:0)
只需将 android:inputType="textCapWords"
添加到布局xml中的EditText即可。
这将使所有单词以Caps字母开头。
答案 4 :(得分:0)
字符串在Java中是不可变的,String.charAt返回一个值,而不是您可以设置的引用(如在C ++中)。 Pheonixblade9将无法编译。这就是Pheonixblade9建议的,除了它编译。</ p>
public String capitalize(String testString) {
String[] brokenString = testString.split(" ");
String newString = "";
for (String s : brokenString) {
char[] chars = s.toCharArray();
chars[0] = Character.toUpperCase(chars[0]);
newString = newString + new String(chars) + " ";
}
//the trim removes trailing whitespace
return newString.trim();
}
答案 5 :(得分:0)
String source = "hello good old world";
StringBuilder res = new StringBuilder();
String[] strArr = source.split(" ");
for (String str : strArr) {
char[] stringArray = str.trim().toCharArray();
stringArray[0] = Character.toUpperCase(stringArray[0]);
str = new String(stringArray);
res.append(str).append(" ");
}
System.out.print("Result: " + res.toString().trim());