用于从字符串句子创建单词、空格和标点符号列表的 Elm 函数

Elm function to create a list of words, spaces and punctuation from a string sentence

我正在尝试创建一个句子,其中每个单词 space 和标点符号都在它自己的 HTML 范围内。它将用于语言学习应用程序,因此每个跨度都可以链接到该单词的字典条目。 所以我想要类似 String.split 的东西,但使用正则表达式作为分隔符,并将分隔符保留为列表项。

和这家伙基本一模一样: , 但在榆树。

我想从:

"Hello there. These are two sentences." : String

并到达:

["Hello", " ", "there", ".", " ", "These", " ", "are", " ", "two", " ", "sentences", "."] : List String

到目前为止我还很困惑。

问候 克里斯

大概你可以直接将解决方案翻译成 elm?

所以使用 elm/regex 这样的东西:

import Regex exposing (Regex)


wordSplitRegex : Regex
wordSplitRegex = 
    Regex.fromString "\w+|\s+|[^\s\w]+"
        |> Maybe.withDefault Regex.never


split : String -> List String
split input =
   Regex.find wordSplitRegex input 
      |> List.map .match