轨道
/
Haskell
Haskell
/
练习
/
首字母缩写
首字母缩写

首字母缩写

简单

说明

把一个短语转换成它的首字母缩写。

技术爱好者最爱他们的 TLA(三个字母的缩写)了!

帮忙造点行话吧:写一个程序,把像 Portable Network Graphics 这样的长名称转换成它的缩写(PNG)。

标点按下面的方式处理:连字符是单词分隔符(和空白字符一样);其他标点都可以从输入中删除。

例如:

输入 输出
As Soon As Possible ASAP
Liquid-crystal display LCD
Thank George It's Friday! TGIF

提示

本练习处理的是文本数据。由于历史原因,Haskell 的 String 类型等同于 [Char],即一个字符列表。若要更高效地处理文本数据,可以使用 Text 类型。

作为本练习的可选扩展,你可以

  • 阅读 Haskell 中的字符串类型。

  • 在 package.yaml 的依赖列表中添加 - text。

  • 按下面的方式导入 Data.Text:

      import qualified Data.Text as T
      import           Data.Text (Text)
    
  • 现在你可以编写例如 abbreviate :: Text -> Text,并用例如 T.filter 来引用 Data.Text 的组合子。

  • 查阅 Data.Text 的文档。

这部分完全是可选的。


来源

Julien Vanier链接会在新窗口或新标签页中打开
通过 GitHub 编辑 链接将在新窗口或新标签页中打开
Haskell Exercism

准备好开始 首字母缩写 了吗?

注册 Exercism,借助 107 个练习 和真人导师指导,学习并掌握 Haskell,全部免费。

深入探索 首字母缩写!

我们会循序渐进地探索正则表达式:从最基本的空白匹配开始,再到探索 Unicode,最后以否定后行断言收尾。最后,我们还会看看解决首字母缩写的其他思路,包括状态机。