2016-10-08 2 views
1

이유는이스위프트 문자열 토큰 화

let dataArray = data.characters.split{$0 == ";"}.map(String.init) 

let dataArray = self.dataIn.characters.split{$0 == "\r\n"}.map(String.init) 

할 수 있지만이 작업을 수행 할 수 있습니까?

let dataArray = data.characters.split{$0 == "; "}.map(String.init) 

나는 그래서 당신은 "$0"는 Character 유형입니다 그래서, 당신은 여기에 문자를 분할하는 문자열

"; " 

답변

2

에 대한보고 싶어요. 그것이 문자가 아닌 객체와 같을 수 없다는 것을 의미합니다. "; "은 단일 문자가 아니기 때문에 문자열입니다.

let dataArray = data.components(separatedBy: "; ") 
+0

우수한 :

경우에만 "; "로 문자열을 분할 시도하는 경우, 당신은 단지 문자열의 components(separatedBy:) 사용해야했다되고있다. 고맙습니다. 내가 원래 이것을봤을 때 심지어 지금 나는 문자를 얻는다. 나의 검색의 꼭대기에 해결책을 나누어 라. 그것은 "\ r \ n"과 함께 작동하는 것 같아요. 그래서 나는 조금 혼란스러워합니다. – lusher00

+0

'\ r \ n'은 실제로는 새로운 줄 문자와 일치하기 때문에 여전히 하나의'Character'입니다. 예를 들어'\ n \ n'은 두 개의 "문자"이므로 작동하지 않습니다. – Firo