使用Swift将字符串拆分成两半(以单词为单位)

17 浏览
0 Comments

使用Swift将字符串拆分成两半(以单词为单位)

尝试使用Swift将字符串分为两半。基本上给定一个字符串“今天我在莫斯科,明天我将在纽约”

这个字符串有13个单词。我想生成两个“长度接近”的字符串:“今天我在莫斯科,明天”和“明天我将在纽约”。

0
0 Comments

在Swift 4及以上版本中,有一个简单的方法可以将字符串分割成两半。方法是在字符串的中间插入一个字符,然后使用split(separator:)函数进行分割。

具体的代码如下:

var str = "Hello, playground"

let halfLength = str.count / 2

let index = str.index(str.startIndex, offsetBy: halfLength)

str.insert("-", at: index)

let result = str.split(separator: "-")

这段代码首先将字符串定义为"Hello, playground",然后计算出字符串长度的一半。然后通过使用index函数找到字符串中间的位置,并在该位置插入"-"字符。最后使用split(separator:)函数将字符串分割成两半,以"-"字符为分隔符。

更多关于String.Index的信息可以在这里找到

0
0 Comments

Swift 5.0中出现了一个问题,即如何将一个字符串从中间分成两半。为了解决这个问题,可以使用一个名为"splitStringInHalf()"的扩展函数来实现。这个函数会将字符串按照空格分割成多个单词,并根据单词数量的一半来将单词分成两部分。

解决方法如下:

首先,通过使用components(separatedBy:)方法,将字符串按照空格分割成一个单词数组。

然后,计算出单词数量的一半,将其存储在变量halfLength中。

接下来,利用joined(separator:)方法将单词数组的前半部分和后半部分分别合并成字符串。

最后,将两个合并后的字符串作为元组返回。

使用方法如下:

首先,定义一个字符串变量str,并将其赋值为"Today I am in Moscow and tomorrow I will be in New York"。

然后,调用splitStringInHalf()函数将字符串分成两半,并将返回的结果存储在变量str中。

最后,分别打印出str的第一半和第二半。

下面是具体的代码示例:

extension String {

func splitStringInHalf() -> (firstHalf: String, secondHalf: String) {

let words = self.components(separatedBy: " ")

let halfLength = words.count / 2

let firstHalf = words[0..

let secondHalf = words[halfLength..

return (firstHalf: firstHalf, secondHalf: secondHalf)

}

}

let str = "Today I am in Moscow and tomorrow I will be in New York".splitStringInHalf()

print(str.firstHalf)

print(str.secondHalf)

0
0 Comments

在这个例子中,问题的出现是要将一个字符串中的单词拆分成两半。解决方法是通过使用Swift的字符串操作来实现。

首先,将字符串中的单词以空格分隔成一个数组。使用componentsSeparatedByString方法可以实现这一步骤。

然后,计算数组长度的一半,将其赋值给halfLength变量。

接下来,通过使用数组的下标范围来获取数组的前半部分和后半部分,然后使用joinWithSeparator方法将数组元素连接成字符串。将前半部分赋值给firstHalf变量,将后半部分赋值给secondHalf变量。

最后,打印出前半部分和后半部分的字符串。

如果需要调整前后两部分的长度,只需调整halfLength变量即可。

使用这种方法,可以方便地将一个字符串中的单词拆分成两半,并对每一半进行后续操作。

0