当前位置:  开发笔记 > IOS > 正文

如何获取字符串中每个单词的第一个字符?

如何解决《如何获取字符串中每个单词的第一个字符?》经验,为你挑选了2个好方法。

我要这个:

var String1 = "Stack Over Flow"
var desiredOutPut = "SOF" // the first Character of each word in a single String (after space)

我知道如何从字符串中获取第一个字符,但不知道该怎么做这个问题.



1> Andrei A...:

为了保持它更优雅,我将使用以下代码对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



2> vien vu..:

你可以试试这段代码:

let stringInput = "First Last"
let stringInputArr = stringInput.componentsSeparatedByString(" ")
var stringNeed = ""

for string in stringInputArr {
    stringNeed = stringNeed + String(string.first!)
}

print(stringNeed)

如果有问题,componentsSeparatedByString可以尝试按字符空格分开并继续在数组中删除所有字符串为空.

希望这有帮助!


@Montanabucks我在这种情况下的想法是:我们可以通过空格字符将字符串分隔为数组.你的黄金是每个字符串的第一个字符,所以我们在这个数组中运行一个循环.我们可以得到它的第一个特征.因为它是字符所以我们需要转换为String.我们需要字符串来保存结果.所以每个循环我们都不会.当结束循环时,我们将获得您需要的结果.
推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有