2012-08-03 5 views
-2

저는 약간의 연습 프로그래밍을 시도하면서 프로젝트를 진행하고 있습니다. 나는 충돌했다.텍스트를 가져 와서 문자열로 만들기

텍스트 파일에서 다음과 같이 구성되는 이름을 얻으려고합니다 : ["name", "name", "name", "name"] 및 문장 부호없이 각 이름을 변환하고 ArrayList의 문자열로 바꿉니다.

일단 이름이 목록에 있으면 내가 가진 다른 코드로 정렬 할 것입니다. 누구든지 이걸 좀 도와 주실 래요?

+0

나는 초기 문자열이 그렇게 대신 내가 '와 솔루션을 썼다 ""이있는 경우이 작업을 수행하는 방법에 너무 확실하지 않았다. 미안하지만 그/b/c가 완전히 쓸모 없다면! – gmustudent

답변

2

당신이 할 수 있었던 , 구분 및 결과 배열 항목에서 remove 모든 "[] 문자에 String#split.

이 배열에서 ArrayList을 생성합니다 :

List<String> list = new ArrayList<String>(Arrays.asList(stringArray)); 

스포일러

String names = "[\"Tony Parker\", \"John Smith\", \"Michelle\", \"David\"]"; 
System.out.println(Arrays.asList(names.replaceAll("[\\[\\]\"]", "").split(", "))); 
  • 시퀀스에 문자열을 분할 빈 문자열로 모든 원치 않는 문자 교체 " "배열로
  • 가 목록에 배열로 변환 : 여기
1

당신은 갈 (실제로는 목록을 배열의 보기 생성). 이렇게하면 이름의 문자열을 가지고 당신은 정말 여기에 더 나은 질문을하는 방법을 읽어해야 ArrayList에

import java.util.ArrayList; 
public class Practice 
{ 
    public static void main(String[] args) 
    { 
     // Initialize Variables 
     String names = "['Tony Parker', 'John Smith', 'Michelle', 'David']"; 
     ArrayList<String> namesList = new ArrayList<String>(); 
     int startingPoint = 0; 


     // Replace All Unwanted Characters In String With White Space 
     names = names.replace("[", "").replace("]", "").replace("'", ""); 


     // Trim The String Down And Then Add A Comma At The End 
     names.trim(); 
     names = names + ","; 



     // For Each Comma That Is Encountered, Add The Name into The ArrayList 
     for (int i = 0; i < names.length(); i++) 
     { 
      if (names.charAt(i) == ',') 
      { 
       namesList.add(names.substring(startingPoint, i)); 
       startingPoint = i +1; 
      } 
     } 



     // Print Out The Array List Of Names 
     System.out.println(namesList); 
    } 
} 
+0

','로 나누지 않는 이유는 무엇입니까? 이름에 공백이 있으면 솔루션이 실패합니다. –

+0

수정 됨. 미안합니다. Tony Parker와 같은 이름이 붙여졌습니다. 머리를 주셔서 감사합니다! – gmustudent

관련 문제