2014-02-07 3 views
-3

스플릿 및 체크 문자열에 몇 가지 문제가 있습니다.C# - 스플릿 문자열

문자열을 분리하고 반을 교체해야하며 두 번째 문자열과 동일한 지 확인해야합니다.

예 : 첫 번째 문자열 = 도쿄 번째 문자열 = koyto

김 ... S = A + B = B + A S - = B와 S A - B = A

A 및 B 하나 개의 문자열 (S)의 일부이며,

먼저 내가 문자열 길이를 확인하기 위해 필요로 =와 b = koy이 경우 오래 가지있을 수 있습니다 - 다른있는됩니다 - 다음 오류 쓰기 - 쉽게

입니다 나는 ASCII로 문자열을 비교할 수 있다고 생각했다. (대소 문자 구분은 im이 아니다. portant) 그리고 그것은 괜찮을 수 있지만 ... 괜찮을 수도 있지만 ... ASCII에서 같은 크기를 가지고 있지만 첫 번째 문자열의 분할 및 반전 부분에서 생성 된 문자열 테이크를 만들 수 있습니다 ...

아이디어가 있습니까?

static void Main(string[] args) 
    { 
     string S = "tokyo"; 
     string T = "kyoto"; 
      if (S.Length == T.Length) 
      { 
       split string ? 
      } 
     else 
     Console.WriteLine("This two words are different. No result found."); 
     Console.Read(); 
    } 
+4

무엇이 문제입니까? –

+0

나는 당신이 문제를 풀고있는 문제에 대해 잘 정의 된 문제와 분명한 질문을 갖도록 이것을 다시 말하고 철자를 점검 할 필요가 있다고 생각한다. 나는 * 당신이 무엇을하려고 하는지를 안다고 생각하지만, 당신의 코드는 그런 것을하지 않는다. – crashmstr

+0

내가 * 많은 문제를 보았지만 ... OP가 무엇을 묻고 있는지 전혀 모른다 ... 문제 1? 'bool result'는 결코 사용되지 않은 지역 변수이고, Console.Read() 이후에 범위를 벗어납니다 ... 왜? –

답변

4

문자열 비교를 권장합니다. 비교를 위해 String.ToLower() 메서드를 사용하여 둘 다 소문자로 변환 할 수 있습니다.

나는 정확히 해결하는 것입니다 무엇을하려고하는 문제는 잘 모르겠지만, 난 당신이 문자열 S가 문자열 T.

을 재 배열 할 수있는 두 개의 문자열로 분할 할 수 있는지 확인하려고하는 이해하는 것과 당신은 당신이 LINQ를 사용하는 것이 좋습니다 두 컬렉션의 평등을 비교하려면 다음

for (int i = 0; i < S.length; i++) { 
    string back = S.substring(i); 
    string front = S.substring(0,i); 
    if (T.equals(back + front)) 
     result = true; 
} 

희망과 비슷한 무언가를 원할 것입니다이 문제를 확인하려면이

+0

tokyo와 kytoo가 같지 않기 때문에 이것은 올바르지 않습니다. 스플릿과 스왑에서) – user3285382

+0

귀하의 진술과 혼동 스럽습니다.이 코드는 단어가 "tokyo"및 "kyoto"인 경우 결과를 true로 설정하고 단어가 "tokyo"및 "kytoo"인 경우 false로 남겨 둡니다. 이는 내 지식에 맞는 동작입니다. – shmyq

+0

아마도 나도 마찬가지입니다. 어리석은하지만 '결과'라는 이름은 현재 컨텍스트에 존재하지 않으며 사용자에게 Console.WriteLine 메시지를 보내고 싶습니다. – user3285382

0

하는 데 도움이 :

,
static void Main(string[] args) 
    { 
     string S = "tokyo"; 
     string T = "kyoto"; 
     if (S.Length == T.Length) 
     { 
      if (S.Intersect(T).Any()) 
      { 
       Console.WriteLine("The Contents are the same"); 
       Console.Read(); 
      } 
     } 
     else 
     Console.WriteLine("This two words are diferent. No result found."); 
     Console.Read(); 
    } 
+0

을 준수한다는 것을 알 수 있습니다. ToCharArray가 필요하지 않습니다. –

+0

@ Selman22 와일드 카드를 편집 할 때 잊어 버렸습니다. , 편집 및 수정. 메모리 낭비;) –

+0

tokyo와 kytoo가 동일하지 않기 때문에 이것은 올바르지 않습니다. (스플릿과 스왑에서 빌드하십시오) – user3285382