将字符串分隔符传递给textString.characters.split的最佳方法是什么?

时间:2016-01-27 01:37:53

标签: swift2

尝试通过传入参数拆分字符串时出错。

示例运行。

./create-events-from-dvd-contents.swift --path /Volumes/ARCHIVE/DVD\ 1255/2451-01_LLA_Assets\ Folder\ Nov\ 2015/ --root-prefix DVD --job-meta-data-delimiter _
./create-events-from-dvd-contents.swift:72:69: error: cannot convert value of type '(String) -> Bool' to expected argument type '_Element' (aka 'Character')
            let jobMetaDataArray: Array<String> = jobFolder_.characters.split {$0 == delimiter}.map { String($0) } ;

功能:

func setJobNumberClientCodeAndJobTitleFromJobFolderGivenDelimiter( jobFolder_: String, delimiter_: String ) {

    let jobMetaDataArray: Array<String> = jobFolder_.characters.split {$0 == delimiter_}.map { String($0) } ;

    /* 
        ...
        */
}

如果我对参数进行硬编码,那么它就能正常工作。

示例:

func setJobNumberClientCodeAndJobTitleFromJobFolderGivenDelimiter(jobFolder_:String,delimiter_:String){

    let jobMetaDataArray: Array<String> = jobFolder_.characters.split {$0 == "_"}.map { String($0) } ;

    /* 
        ...
        */
}

将字符串分隔符传递给textString.characters.split的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

简单的答案是使用不同的功能。

func setJobNumberClientCodeAndJobTitleFromJobFolderGivenDelimiter( jobFolder_: String, delimiter_: String ) {

    let jobMetaDataArray: Array<String> = jobFolder_.componentsSeparatedByString(delimiter_) ;

    /*
         ...

        */

}