컨텐츠를 Excel 파일로 붙여 넣는 동안 문자열에서 캐리지 리턴을 제거하는 방법

StackOverflow https://stackoverflow.com/questions/1612808

  •  06-07-2019
  •  | 
  •  

문제

Java Code에 의해 생성 된 내용 (또는 텍스트)을 Excel로 붙여 넣는 동안 문제가 있습니다. 문제는 내 Java 코드가 여러 줄, 즉 선이 나눌 수있는 문자열을 생성한다는 것입니다.\n) 포함. 이 콘텐츠를 복사하여 Excel 파일에 붙여 넣으려고 할 때 정사각형 상자 기호가있는 멀티 라인 텍스트를 받고 있습니다. 나는 Windows가 사용한다는 것을 알게되었습니다 \r\n 라인 브레이크가 아니라 단지 \n. 나는 나의 교체를 시도했다 \n ~와 함께 \r\n 생성 된 텍스트를 붙여 넣지 만 Excel 파일에 동일한 사각형 상자를 가져오고 있습니다. 내 샘플 코드는 다음과 같습니다.

      String   myString = "a1\nb1";
      String   tmpString =myString.replace("\n","\r\n");
      System.out.println( "Original = " +"\""+myString+"\"");
      System.out.println( "Result   = " +"\""+tmpString+"\"");

나는 그것을 사용했다 " " 텍스트를 랩핑합니다. 내가 붙여 넣으려고했을 때 tmpString Excel에서는 사각형 상자를 얻었습니다. 상자를 어떻게 제거 할 수 있습니까? 내 셀에 여러 줄?

도움이 되었습니까?

해결책

캐리지 리턴 / Newline을 원하십니까, 아니면 그렇지 않습니까? 제목에 따르면 문자열에 Newline이있을 때 코드가 명시 적으로 캐리지 리턴을 추가하고 있습니다. 둘 다 제거하려면 REGEX를 사용하는 String.Replaceall ()을 사용하십시오.

public static void main(String[] argv)
throws Exception
{
    String s1 = "this\r\nis a test";
    String s2 = s1.replaceAll("[\n\r]", "");
    System.out.println(s2);
} 

이 예제는 문자의 발생을 찾아 삭제합니다. 당신은 아마도 일련의 문자를 찾고 공간으로 바꾸고 싶을 것입니다. 그러나 나는 그것을 당신에게 맡길 것입니다 : 문서를보십시오. java.util.regex.Pattern.

그리고 나는 "상자"가 돌아 오는 사람이 아니라 다른 캐릭터라고 생각합니다.

다른 팁

평소와 같이 복사하여 붙여 넣은 다음 Excel에서 검색하고 교체하지 않습니까?

도움이되면이 코드 라인을 실행했습니다 (C#)

Clipboard.SetText("1\n2\r\n3");

그리고 Excel에서 Ctrl-V 및 3 개의 셀이 A1 GOT 1, A2 GOT 2 및 A3가 3으로 채워졌습니다. 이는 Excel에 의해 예상대로 처리된다는 것을 의미합니다. n 및 r n을 포함하는 Java 문자열도 작동해야합니다. 이것은 나에게 Excel 세포 설정과 관련이 있다고 믿게한다. 셀이 텍스트로 형식인지 확인하십시오.

그 외에는 몰라, 미안 해요.

class Test {
    public static void main(String args[])
    System.out.print("Hello\rHi");
}

r로 인해 커서는 현재 선의 시작으로 이동하므로 Hello의 "HE"는 "HI"로 대체됩니다.

이것을 시도 =)

String s1 = "this\r\nis a test";
String s2 = s1.replaceAll("(\\r|\\n)", "");
System.out.println(s2);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top