2016-08-19 78 views
0

在自定义TextView中,假设第一个字符是数字,那么下一个字符就是一个字符。如何找到第一个字符amoung数字。如何大写自定义textview中的第一个字母?

+0

【JAVA的可能重复:找到第一个指数正则表达式](http://stackoverflow.com/questions/11214245/java-find-index-of-first-regex) –

回答

0
String text = textView.getText().toString(); 
for(Character c : text){ 
    if(c.isLetter){ 
    //First letter found 
    break; 
} 
4

在布局文件,添加机器人:利用= “句子”

为Android的选项大写:有以下几点:

机器人:利用= “无”:赢得”自动大写任何东西。

android:capitalize =“句子”:这将大写每个句子的第一个单词。

android:capitalize =“words”:这将大写每个单词的第一个字母。

android:capitalize =“characters”:这将大写每个字符。

更新:

由于Android:利用现已弃用需要使用:

安卓的inputType = “textCapWords”

1

您正在寻找在中的inputType参数用于TextView的xml布局文件。如果你希望只利用在TextView的第一个字母,改用以下

android:inputType = "textCapWords" 
//This would capitalise the first letter in every word. 

:基本上在你想设置的骆驼TextView的布局文件,添加以下行。

android:inputType = "textCapSentences" 
//This would capitalise the first letter in every sentence. 

如果你有拥有超过一个句子一个TextView,你只需要利用在TextView的第一个字母,我会建议使用代码来做到这一点:

String[] words = input.getText().toString().split(" "); 
StringBuilder sb = new StringBuilder(); 
if (words[0].length() > 0) { 
    sb.append(Character.toUpperCase(words[0].charAt(0)) + words[0].subSequence(1, words[0].length()).toString().toLowerCase()); 
    for (int i = 1; i < words.length; i++) { 
     sb.append(" "); 
     sb.append(Character.toUpperCase(words[i].charAt(0)) + words[i].subSequence(1, words[i].length()).toString().toLowerCase()); 
    } 
} 
String titleCaseValue = sb.toString(); 

希望这帮助:)

1

通过分割整个单词

String input= "sentence"; 
String output = input.substring(0, 1).toUpperCase() + input.substring(1); 
textview.setText(output); 

输出试试这个方法: 句子

0

如果您正在使用科特林你可以去:

大写第一个字:

var str = "whaever your string is..." 
str.capitalize() 
// Whaever your string is... 

为每个字

var str = "whaever your string is..." 
val space = " " 
val splitedStr = str.split(space) 
str = splitedStr.joinToString (space){ 
    it.capitalize() 
} 
// Whaever Your String Is... 
相关问题