我要这个:
var String1 = "Stack Over Flow" var desiredOutPut = "SOF" // the first Character of each word in a single String (after space)
我知道如何从字符串中获取第一个字符,但不知道该怎么做这个问题.
为了保持它更优雅,我将使用以下代码对swift 3.0 String类进行扩展.
extension String { public func getAcronyms(separator: String = "") -> String { let acronyms = self.components(separatedBy: " ").map({ String($0.characters.first!) }).joined(separator: separator); return acronyms; } }
后记你可以像这样使用它:
let acronyms = "Hello world".getAcronyms(); //will print: Hw let acronymsWithSeparator = "Hello world".getAcronyms(separator: "."); //will print: H.w let upperAcronymsWithSeparator = "Hello world".getAcronyms(separator: ".").uppercased(); //will print: H.W
你可以试试这段代码:
let stringInput = "First Last" let stringInputArr = stringInput.componentsSeparatedByString(" ") var stringNeed = "" for string in stringInputArr { stringNeed = stringNeed + String(string.first!) } print(stringNeed)
如果有问题,componentsSeparatedByString
可以尝试按字符空格分开并继续在数组中删除所有字符串为空.
希望这有帮助!