2016-12-10 3 views
0

StringBuilder 개체의 특정 줄 끝에 문자열을 추가하는 방법이 있습니까? 다음은 예제 출력입니다 :Java StringBuilder 특정 줄에 추가

Test 
X15 = 3 
X18 = 6 
X21 = 2 
... 
... 
나는 이제 X21를 포함하는 행을 말할 수 있도록 문자열을 추가 할 수 있도록하고 싶습니다

따라서 출력은 다음과 같습니다

Test 
X15 = 3 
X18 = 6 
X21 = 2 This is a test 
... 
... 

어떤 생각?

+0

당신이 시도한 것을 보여줄 필요가 있습니다. –

+1

그건 실제로 "부가"가 작동하는 방식이 아닙니다. 해당 행을 새 내용으로 바꿀 수 있습니다. –

+0

@ cricket_007 StringBuilder.replace()는 색인을 시작하고 끝내야합니다. 색인을 모르는 상태에서 행을 대체하려면 어떻게해야합니까? 방법이 없다면 X21이 나타나는 색인을 찾을 수 있습니다. – Matrix21

답변

0

쉬운 방법은 아닙니다. 한 가지 알아야 할 것은 StringBuilder가 String 배열이 아니라는 것입니다. 문자열은 char 배열이지만 문자열과의 차이점은 동적이라는 것입니다.

"XX"문자열을 추가하면 StringBuilder가 "XX"가됩니다. 다른 문자열을 추가하면 "PP"라고 말하면 StringBuilder가 "XXPP"가됩니다. 그래서 특정 것에 무언가를 붙이는 것은 쉬운 방법이 아닙니다. 나는 당신의 질문을 아주 잘 이해한다고 생각합니다.

한 것은 모두 StringBuilder의 ArrayList를를 만들 구성, 그것은 수행하려면 그런 식으로, 우는 소리 참조 :

List<StringBuilder> allString = new ArrayList<>(); 
//for line 1 
allString.add(new StringBuiler()); 
//for line 2 
allString.add(new StringBuiler()); 

을 이제 특정 라인에 뭔가를 추가하려는 경우, 당신은 할 필요가 :

allString.get(0).append("X21"); 
allString.get(0).append(" TEST"); 
//line 1 become X21 TEST 

모든 텍스트를 보려면 List를 반복하고 StringBuilder를 콘솔이나 다른 플로우로 인쇄하면됩니다.

도와 드리겠습니다.

건배