2015-12-30 3 views
-1

Я рассмотрел большинство вопросов, но не смог найти, как прописные или строчные символы внутри слова.Верхний или нижний регистр определенного символа в слове «Java»

Пример:

String name = "Robert" 

Что делать, если я хотел бы сделать «б» Прописные и строчные буквы отдыха также как сделать первую букву Прописные и строчные буквы отдыхать?

Like "джон" >> Выход >> "Джон" ...

У меня есть toUppercase() и toLowercase(). Они преобразуют весь текст.

Также я попытался включить charAt, но никогда не работал со мной.

ответ

1

Вам нужно будет взять свою строку, взять подстроку определенного символа или символов, которые вы хотите использовать заглавными или строчными буквами, а затем построить новую строку.

Пример

String test = "JoHn"; //make the H lowercase 
test = test.substring(0,2) + test.substring(2,3).toLowercase() + test.substring(3); 

Первый подстроки получает все символы до нужной точки, второй получает нужный символ и нижний регистр, и окончательная подстроки получает остальную часть строки

0

Я бы не» t использовать 'test.substring(2, 3).toLowerCase()' обязательно. 'Character.valueOf(test.charAt(2)).toUpperCase()' работает. Кроме того, «test.substring(0, 3)» ошибочен; это должно быть «test.substring(0, 2)».

0

Функция, которая заглавной буквы

private String capitalize(String str) { 
    return Character.toUpperCase(str.charAt(0)) + str.substring(1); 
} 


Функция, капитализировать произвольное письмо

private String replaceCharWithUpperCase(char letterToCapitalize, String str) 
{ 
    return str.replaceAll(letterToCapitalize, Character.toUpperCase(letterToCapitalize)); 
} 

Затем вы можете использовать предыдущие функции вроде:

String a = "JOHN"; 
a = capitalize(a.toLowerCase()); 
// now a = John. 

String b = "ROBERT"; 
a = replaceCharWithUpperCase('b', a.toLowerCase()); 
// now a = roBert. 
0

Вы можете использовать toCharArray() в capitalize первый Леттере так:

 String name = "robert"; 

     // Convert String to char array. 
     char[] arr = name.toCharArray(); 
     // Modify first element in array. 
     arr[0] = Character.toUpperCase(arr[0]); 
     String str = new String(arr); 
     System.out.println(str); 

Выход:

Robert 

И вы хотите, чтобы "б" Прописные и отдых в нижнем регистре, как это:

 // Convert String to char array. 
      char[] arr2 = name.toCharArray(); 
     // Modify the third element in array. 
     arr2[2] = Character.toUpperCase(arr2[2]); 
     String str2 = new String(arr2); 
     System.out.println(str2); 

Выход:

roBert 
0
//Try this.... 

String str="Java";  

for(int i=0;i<str.length();i++)   
{   
int aChar=str.charAt(i);   
if(aChar>=96 && aChar<=123 && aChar==97)   
{   
aChar=aChar-32;   
}     

System.out.print((char) aChar);   
}   

/*
выход будет быть- Яве

*/

+0

Вы должны проверить значение ASCII для ввода символов. – Pralhad

+0

Вам нужно проверить значение ASCII для ввода символов.В приведенном выше примере я проверил значения ascii от a до z (от 96 до 123) плюс у меня есть проверка, соответствует ли какое-либо значение символа ascii 97 (значение ASCII char 'a') и преобразует этот символ 'a' в 'A' посвящение/мин 32. – Pralhad

Смежные вопросы