2016-08-19 77 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... 
相關問題