Swift에서 String을 [Character]로 변환하는 가장 좋은 방법은 무엇입니까?

마리아 즈 베리 나

문자열에서 필터를 실행하고 싶습니다. 문자열이 자동으로 Character []로 변환되지 않아 첫 번째 시도가 실패했습니다.

var s: String = "abc"
s.filter { $0 != "b" }

다음 코드를 사용하여 서투르게 문자열을 Character []로 변환하면 예상대로 작동합니다. 그러나 확실히 깔끔한 방법이 있어야합니까?

var cs:Character[] = []
for c in s {
    cs =  cs + [c]
}

cs = cs.filter { $0 != "b" }

println(cs)
브렌트 로열 고든

String을 준수 CollectionType프로토콜은, 그래서 당신의 기능 양식에 직접 전달할 수 있습니다 mapfilter전혀 변환하지 않고 :

let cs = filter(s) { $0 != "f" }

cs여기입니다 ArrayCharacter들. 당신은으로 바꿀 수 String사용하여 String(seq:)을 구성 초기화, String어떤에서 SequenceTypeCharacter들. ( SequenceType모든 목록이 준수하는 프로토콜입니다. for루프는 다른 여러 항목 중에서도 사용합니다.)

let filteredString = String(seq: cs)

물론 하나의 문장에이 두 가지를 쉽게 넣을 수 있습니다.

let filteredString = String(seq: filter(s) { $0 != "f" })

또는에있는 filter것과 같은 편리한 메서드 를 만들려면 Array확장을 사용할 수 있습니다.

extension String {
    func filter(includeElement: Character -> Bool) -> String {
        return String(seq: Swift.filter(self, includeElement))
    }
}

( "Swift.filter"로 작성하므로 컴파일러 filter는 현재 작성중인 메서드 를 재귀 적으로 호출하려고한다고 생각하지 않습니다 .)

필터링이 수행되는 방식을 숨기는 한 lazy를 사용하는 filter것이 좋습니다. 이는 임시 배열 생성을 전혀 피해야합니다.

extension String {
    func filter(includeElement: Character -> Bool) -> String {
        return String(seq: lazy(self).filter(includeElement))
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

docx 또는 doc 파일을 Java에서 txt로 변환하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

Python2.7에서 목록을 dict로 변환하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

Android에서 픽셀 단위로 png 색상을 변경하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

NSStrings가있는 배열을 NSDecimalNumber로 변환하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

로봇 프레임 워크에서 주장을하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

변수에 값을 동적으로 할당하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

Laravel : 환경 변수를 기반으로하는 routes.php에서 동적 라우팅을 구현하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

필드에 쉼표와 따옴표가있을 때 CSV에서 JSON으로 변환하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

파이썬에서 json 파일로 변환하기 위해 csv 파일에 레이블을 지정하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

파이썬에서 str로 변환하지 않고 두 개의 float64 열을 연결하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

Spark-Scala에서 데이터 세트 [Row]를 RDD [Array [String]]로 변환하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

숫자 배열을 CSV 문자열로 변환하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

8 부울을 1 바이트로 변환하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

int 배열을 C ++에서 비트 세트 표현으로 변환하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

Rust에서 usize를 f64로 변환 할 때 정밀도 손실을 인식하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

이 데이터 세트의 값을 문자열에서 int로 변환하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

Angular 2에서 문자열 배열을 객체 배열로 변환하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

C에서 함수 오버로딩을 구현하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

큰 JSON을 서버에 업로드하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

서버에 파일을 업로드하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

Linux에서 Android 앱을 프로그래밍하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

Android에서 Facebook 로그인을 구현하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

Java에서 두 목록을 새 목록으로 연결하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

asp.net에서 큰 텍스트 본문을로드하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

Angular 2 typescript에서 JSON을 generic Object []로 캐스팅하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

es6 표준으로 redux에서 mixin을 사용하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

컬렉션을 로컬 폴더에 저장하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

로그에서 검색하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

Postgres에 JSON을 저장하는 가장 좋은 방법은 무엇입니까?

Related 관련 기사

  1. 1

    docx 또는 doc 파일을 Java에서 txt로 변환하는 가장 좋은 방법은 무엇입니까?

  2. 2

    Python2.7에서 목록을 dict로 변환하는 가장 좋은 방법은 무엇입니까?

  3. 3

    Android에서 픽셀 단위로 png 색상을 변경하는 가장 좋은 방법은 무엇입니까?

  4. 4

    NSStrings가있는 배열을 NSDecimalNumber로 변환하는 가장 좋은 방법은 무엇입니까?

  5. 5

    로봇 프레임 워크에서 주장을하는 가장 좋은 방법은 무엇입니까?

  6. 6

    변수에 값을 동적으로 할당하는 가장 좋은 방법은 무엇입니까?

  7. 7

    Laravel : 환경 변수를 기반으로하는 routes.php에서 동적 라우팅을 구현하는 가장 좋은 방법은 무엇입니까?

  8. 8

    필드에 쉼표와 따옴표가있을 때 CSV에서 JSON으로 변환하는 가장 좋은 방법은 무엇입니까?

  9. 9

    파이썬에서 json 파일로 변환하기 위해 csv 파일에 레이블을 지정하는 가장 좋은 방법은 무엇입니까?

  10. 10

    파이썬에서 str로 변환하지 않고 두 개의 float64 열을 연결하는 가장 좋은 방법은 무엇입니까?

  11. 11

    Spark-Scala에서 데이터 세트 [Row]를 RDD [Array [String]]로 변환하는 가장 좋은 방법은 무엇입니까?

  12. 12

    숫자 배열을 CSV 문자열로 변환하는 가장 좋은 방법은 무엇입니까?

  13. 13

    8 부울을 1 바이트로 변환하는 가장 좋은 방법은 무엇입니까?

  14. 14

    int 배열을 C ++에서 비트 세트 표현으로 변환하는 가장 좋은 방법은 무엇입니까?

  15. 15

    Rust에서 usize를 f64로 변환 할 때 정밀도 손실을 인식하는 가장 좋은 방법은 무엇입니까?

  16. 16

    이 데이터 세트의 값을 문자열에서 int로 변환하는 가장 좋은 방법은 무엇입니까?

  17. 17

    Angular 2에서 문자열 배열을 객체 배열로 변환하는 가장 좋은 방법은 무엇입니까?

  18. 18

    C에서 함수 오버로딩을 구현하는 가장 좋은 방법은 무엇입니까?

  19. 19

    큰 JSON을 서버에 업로드하는 가장 좋은 방법은 무엇입니까?

  20. 20

    서버에 파일을 업로드하는 가장 좋은 방법은 무엇입니까?

  21. 21

    Linux에서 Android 앱을 프로그래밍하는 가장 좋은 방법은 무엇입니까?

  22. 22

    Android에서 Facebook 로그인을 구현하는 가장 좋은 방법은 무엇입니까?

  23. 23

    Java에서 두 목록을 새 목록으로 연결하는 가장 좋은 방법은 무엇입니까?

  24. 24

    asp.net에서 큰 텍스트 본문을로드하는 가장 좋은 방법은 무엇입니까?

  25. 25

    Angular 2 typescript에서 JSON을 generic Object []로 캐스팅하는 가장 좋은 방법은 무엇입니까?

  26. 26

    es6 표준으로 redux에서 mixin을 사용하는 가장 좋은 방법은 무엇입니까?

  27. 27

    컬렉션을 로컬 폴더에 저장하는 가장 좋은 방법은 무엇입니까?

  28. 28

    로그에서 검색하는 가장 좋은 방법은 무엇입니까?

  29. 29

    Postgres에 JSON을 저장하는 가장 좋은 방법은 무엇입니까?

뜨겁다태그

보관