Swift 程序查找字符串中最长的单词

swiftserver side programmingprogramming更新于 2025/9/19 15:37:17

在 Swift 中,字符串是字符序列。因此,字符串可以包含短单词和长单词。因此,使用以下方法我们可以找到字符串中最大的单词。

  • 使用 component() 方法

  • 使用用户定义方法

示例

Input String: "Rabbit run fast"

Output String: "Rabbit"

此处,字符串中所有给定单词中最大的单词是"Rabbit"。

方法 1:使用 component() 方法

components() 方法用于根据给定字符串创建一个子字符串数组,其中每个子字符串由指定的分隔符分隔。因此,这里我们使用 components(separatedBy:.whitespaces) 方法并以 .wihitespaces 作为参数来创建一个子字符串数组,其中子字符串由空格分隔。然后,我们比较数组元素的长度,以找到最长的单词。

算法

str.components(separatedBy:.whitespaces)

这里,在 str 字符串上调用 component() 方法,并返回一个由空格分隔的子字符串数组。

算法

  • 步骤 1 − 创建一个函数,该函数接受输入字符串作为参数,并返回最长的单词。

  • 步骤 2 − 在函数内部,我们使用 component() 函数将字符串拆分成多个子字符串,从而创建一个子字符串数组。其中子字符串由空格分隔。

  • 步骤 3 − 创建一个空字符串来存储结果。

  • 步骤 4 − 运行 for-in 循环遍历每个子字符串。并将每个子字符串的长度与当前子字符串进行比较。

  • 步骤 5 − 如果当前子字符串的长度最大,则将该子字符串添加到结果字符串中。

  • 步骤 6 − 返回结果字符串。

  • 步骤 7 - 创建字符串。

  • 步骤 8 - 调用函数并将字符串作为参数传递给函数。

  • 步骤 9 - 显示输出。

示例

import Foundation
import Glibc

// 函数用于查找给定字符串中最长的单词
func longestWord(str: String) -> String {
   let wordArray = str.components(separatedBy: .whitespacesAndNewlines)
   var longWord = ""
    
   for w in wordArray {
      if w.count > longWord.count {
         longWord = w
      }
   }
   
   return longWord
}

// Input string
let myString = "Swift support String"
let resWord = longestWord(str: myString)
print("Longest word in the \"\(myString)\" is:\(resWord)")

输出

Longest word in the "Swift support String" is: support

方法 1:使用用户定义函数

我们可以使用用户定义函数来查找字符串中最长的单词。这里我们创建一个函数,它接受输入字符串并返回字符串中最长的单词。

算法

  • 步骤 1 - 创建一个函数,它接受输入字符串作为参数并返回最长的单词。

  • 步骤 2 - 在函数内部,我们创建两个变量,用于在迭代每个单词时存储当前单词,并跟踪最长的单词。

  • 步骤 3 - 运行 for-in 循环来迭代每个子字符串。

  • 步骤 4 - 检查当前字符是空格还是换行符,因为它代表单词的结尾。

  • 步骤 5:- 在这种情况下,我们将当前单词的长度与最长单词进行比较。

  • 步骤 6:将最长单词存储在变量中

  • 步骤 7:再次检查以确保该单词是最长的单词。

  • 步骤 8:返回结果单词。

  • 步骤 9 - 创建字符串。

  • 步骤 10 - 调用函数并将字符串作为参数传递给它。

  • 步骤 11 - 显示输出。

示例

在下面的 Swift 程序中,我们将找出字符串中最长的单词。为此,我们将定义一个以字符串作为输入的函数。该函数借助 for-in 循环遍历字符串中的每个字符,并检查该字符是空格还是换行符,因为它表示单词的结尾。在这种情况下,我们比较 currentWord 和 longestWord 的长度,并在必要时更新 longestWord。然后,我们将 currentWord 重置为空。如果该字符不是空格或换行符,则将其附加到 currentWord 以生成当前单词。之后我们再次检查,确认结果单词就是最长的单词。最后返回最长的单词。

import Foundation
import Glibc

func getLongestWord(str: String) -> String {
   var longestWord = ""
   var currentWord = ""
    
   for c in str {
      if c.isWhitespace || c.isNewline {
         if currentWord.count > longestWord.count {
            longestWord = currentWord
         }
         currentWord = ""
      } else {
         currentWord.append(c)
      }
   }
    
   if currentWord.count > longestWord.count {
      longestWord = currentWord
   }
    
   return longestWord
}

let myString = "Rohan lover Swift programming"
let resWord = getLongestWord(str:myString)
print("The longest word from the \" \(myString)\":\(resWord)")

输出

The longest word from the " Rohan lover Swift programming": programming

结论

以上就是我们在字符串中查找最长单词的方法。查找最长单词对于文本分析、数据处理、游戏开发、Unser 输入验证、语言学习等都非常有用。您也可以根据需要使用最长单词。两种方法都能返回准确的结果。



相关文章



关于我们 | 隐私条款 | 学习路线
返回顶部