2016-09-17 6 views
0

저는 Processing과 Java에 익숙하지 않아서 매우 간단합니다. 그냥 참아주세요. 내 머리 위로 미끄러 져 들어가는 것 뿐이야.처리 할 때 콜론과 공백을 쉼표로 바꾸려고합니다.

1 : 이것은 내가

내가로부터 당겨 해요 txt 파일은 다음과 같이 숫자로 구성

이 코드 100

2 : 200

3 : (300) 등

void setup() { 

    size(200,200); 

    String[] lines = loadStrings("WordFrequency.txt"); 

    lines = lines.replaceAll(":", ",");  
    lines = lines.replaceAll(" ", ",");  

    } 

} 
+0

replaceAll (":", "")'은 모든 공백을 공백으로 바꿉니다. 'replaceAll (":", ","). replaceAll ("", ",")'로 변경하여 콜론을 쉼표로 바꾸고 공백을 쉼표로 바꿉니다. – Vineet

답변

0

줄 바꿈 문자를 대체하기위한 Kevin의 답변에 추가. replace은 파일을 문자열 배열로 구문 분석하는 동안 새 줄 문자를 이미 구문 분석했기 때문에 작동하지 않습니다.

바꾸기 후에 문자열을 추가해야합니다. 다음과 같이 :

String fileString = ""; 
for(int i = 0; i < lines.length; i++){ 
    lines[i] = lines[i].replace(":", ","); 
    lines[i] = lines[i].replace(" ", ","); 
    fileString += lines[i]; 
} 
1

코드에서 replaceAll()을 호출하려고합니다. 작동하지 않습니다. 배열을 반복하여 모든 인덱스에 대해 호출해야합니다. 또한 replaceAll()은 정규 표현식을 사용하는데, 이는 과도한 목적을위한 것입니다. 대신 replace()을 사용하고 싶습니다. 더 많은 정보는 the Java API에서 찾을 수 있습니다.

1 단계 : 루프 배열의 모든 String을 통해

그래서, 당신이 설명하는 세 가지 단계입니다.

2 단계 : 콜론을 쉼표로 바꿉니다.

3 단계 : 공백을 쉼표로 바꿉니다. 모두 함께 퍼팅

, 그것은 다음과 같습니다

for(int i = 0; i < lines.length; i++){ 
    lines[i] = lines[i].replace(":", ",").replace(" ", ","); 
} 

그러나이 코드 :

for(int i = 0; i < lines.length; i++){ 
    lines[i] = lines[i].replace(":", ","); 
    lines[i] = lines[i].replace(" ", ","); 
} 

당신은 그 replace()에 첫 번째 호출에서 반환 된 값에 직접 replace() 전화를 단축 할 수 첫 번째 옵션보다 빠르지 않으므로 실제로 가장 잘 이해하는 코드를 고수해야합니다.

+0

고마워, 이제 새 줄을 ","로 바꾸려고하는데, 줄 [j] = 줄 [j] .replace ("\ n", ""); 이 작동하지 않습니다. –

+0

@CanoBriseno'loadStrings()'함수는 이미 새로운 라인 문자를 제거합니다. 즉, 각 인덱스가 끝나는 위치를 알 수 있습니다. 너 정확히 뭘 하려구? –