2014-05-21 8 views
-5

첫 번째 문자열이 하나 이상 나타나면 두 번째 문자열에서 사용할 수있는 char을 제외하고 모든 문자가 더하기 기호 (+)로 대체되도록 첫 번째 문자열을 수정하십시오. 두 번째 문자열은 +로 대체되지 않습니다 (대소 문자 무시)두 문자열을 일치시키고 일치하지 않는 char을 Java의 + 문자로 바꿉니다

문자열 input1 = "New York"; 문자열 input2 = "New Jersy";

String out = "New Y + r +";

나는 이것을 시도 :

String input1 ="New York"; 
String input2 ="New Jersy"; 
String str[] = input1.split([New Jersy]); 

for(String s:str) { 
    if(s.equals("")) // same pattern else // + should be printed } 
+1

좋아요, 우리가 원하는 것을 알기에 ... 질문이 뭔가요? 얼마나 멀리있어? 코드가 어떻게 생겼으며 그 코드의 문제점은 무엇입니까? –

+0

나는이 시험을 보았습니다. input1 = "New York"; 문자열 input2 = "New Jersy"; 문자열 str [] = input1.split ([New Jersy]); (문자열의 : STR)에 대한 { \t 경우 (대해서는 s.equals ("")) \t // 같은 패턴 다른 \t \t // +는 를 인쇄한다} –

답변

0

귀하의 솔루션은 다음과 같은 약간의 수정으로 만 작동합니다. 대/소문자 구분을 고려하지 않으려면 (?i) 부분을 제거하십시오.

public class StringReplacer { 

    public static void main(String[] args) { 
     String str1 = "New York"; 
     String str2 = "New Jersy"; 

     for(String s : str1.split("(?i)[" + str2 +"]")){ 
      if(s.trim().length() > 0){ 
       str1 = str1.replace(s, "+"); 
      } 
     } 

     System.out.println(str1); // Prints New Y+r+ 
    } 

} 
관련 문제