겸둥이l
699
2019-03-25 16:04:38
5
689

replaceAll먹지 않습니다


itext 사용중에  이미지 태그가  닫히질 않아서 replaceAll 을 쓸려고하는데 안닫혀서 그러는데 문제점이 무엇일까요?


	contentHTML1 = contentHTML1.replaceAll("src=\"/", "src=\"http://localhost:8097/"); 
	
	 Pattern pattern  =  Pattern.compile("<img[^>]*src=[\"']?([^>\"']+)[\"']?[^>]*>");
    Matcher match = pattern.matcher(contentHTML1);
    System.out.println("match :::: "+match);
    while(match.find()){
    	
        String imgTag   = match.group();
        System.out.println("imgTag :::: "+imgTag);
        
        
        String imgTag2  = imgTag.replaceAll(">", "/>");
        System.out.println("imgTag2 :::: "+imgTag2);
       
      contentHTML1 = contentHTML1.replaceAll(imgTag, imgTag2); 

imgTag :::: <img alt="" src="http://localhost:8097/atch/getImageThumb.do?atchFileId=FILE0000000000001228&amp;fileSn=0&amp;width=1000&amp;height=1000">

imgTag2 :::: <img alt="" src="http://localhost:8097/atch/getImageThumb.do?atchFileId=FILE0000000000001228&amp;fileSn=0&amp;width=1000&amp;height=1000"/>

콘솔에 저렇게는 찍히는데 


마지막   contentHTML1 = contentHTML1.replaceAll(imgTag, imgTag2); 변환을 했는데 변환되지 않습니다 문제가 무엇일까요?

0
  • 답변 5

  • 어쩌다프로그래머
    6k
    2019-03-25 16:18:33

    이미지 태그는 닫지 않아도상관없습니다..

    BR 태그처럼...


    contentHTML1에서 imgTag를 imgTag2 로 바꾼다는건대.


    일치하지 않는부분이 있는거 아닌가요..?

    contentHTML1.indexOf(imgTag) >= 0 이 true 인지 확인해보세요


  • 어쩌다프로그래머
    6k
    2019-03-25 16:22:31

    그런데 그냥 imgTag2 가 다 치환된 데이터 아닌가요..?그냥 imgTag2를 사용하시면 될듯한대.

  • 겸둥이l
    699
    2019-03-25 16:26:37 작성 2019-03-25 16:31:03 수정됨

    일단 true 는 나오네요  그리고 

    다치환된 데이터가 아니라 특정부분입니다. 

    특정 url을 가져와서 그부분만 replaceAll 을 시키겠다는거죠 

    contentHTML1 이 내용 전체입니다 그중에서 imgTag 만따로 바꾸겠다는 말인거죠 


    itext는 이미지태그가 안닫히더라구요  물론 </img> 도안먹구요 

    문제가 많네요 ㅠ

  • 어쩌다프로그래머
    6k
    2019-03-25 17:06:01

    음 그러면 치환이 되야 하는대 이상하군요..

    그냥 문자열로만 보면...


    "> 을 "/> 로 만 해도 될거같은대요..?

  • 겸둥이l
    699
    2019-03-25 17:20:32
    해결했습니다 replace 로 하니까 되더군요 왜 replaceAll 은 왜안돼는지 모르곘네요 ㅠ  답변 감사합니다
  • 로그인을 하시면 답변을 등록할 수 있습니다.