2013-10-27 9 views
0

문자열의 특정 문자 만 소문자로 변환하는 방법을 찾고 싶습니다. 나는 나는 다음과 같은 시도 동적 원하는대로 루프를 사용문자열의 단일 문자를 LowerCase로 변환하는 방법

:이 경우 예를 들어

, 내가 어떤 단어를 내가 입력 만 "A"문자가 소문자로 넣어 될 것이라고합니다. 나는 새로운 일을 만들어야했습니다 왜 문제가 문자열이 변경 될 수 없다는 사실에 있다고 느낌이

  String word = new String("YehAAA"); 
     String word2 = new String(); 

     int n; 


     for (int i =0;i<word.length();i++){ 

     n = word.indexOf('A'); 
     word2 = word.substring(0,n)+'a'+word.substring(n+1); 

     } 

, 즉. 그러나 그것은 단지 한 번만 작동합니다. 그 후에 x 개의 새로운 문자열이 필요합니다. 이 경우 StringBuilder에 대해 배워야 할 것입니다. 제 직감이 올바른지 확인하고 싶습니다. 입력하지 않은 경우 감사하게 생각합니다.

C#에서

답변

0
String word = new String("YehAAA"); 

//Convert string to char array. 
char[] word2 = word.toCharArray(); 


for(int i = 0;i<word2.length;i++) 
{ 
    if(word2[i] == `A') 
    { 
     word2[i] = 'a'; 
    }  
} 

//convert char array to String. 
String word3 = String.valueOf(word2); 

System.out.println(word3); 
+0

최고, 감사합니다! – NaC114

0

내가이 방법을 쓸 수

static void Main(string[] args) 
     { 
      Console.Write("Enter example strings: "); 
      var input = Console.ReadLine(); 
      Console.Write("Enter character you want converted to lower case: "); 
      var charToConvert = Console.ReadKey(); 
      string result = ""; 
      foreach (char charter in input) 

      { 
       if (char.ToLower(charter) == char.ToLower(charToConvert.KeyChar)) 
        result += char.ToLower(charter); 
       else 
        result += charter; 
      } 
      Console.WriteLine("\n"); 
      Console.WriteLine(result); 
      Console.ReadLine(); 

     } 
    } 

출력 :

enter image description here