どう書く? - 文字列に含まれる単語の最初の文字を大文字にする

文字列に含まれる単語の最初の文字を大文字にする - どう書く? org

正規表現使うのがスマートなやり方なんでしょうが、使ってません。

open System.Text;
open System.Globalization;

let toTitleCase str =
  CultureInfo.CurrentCulture.TextInfo.ToTitleCase(str)

let splitWords (str : string) =
  Array.ofSeq (str.Split([|' '|]))

[<EntryPoint>]
let main(args : string[]) =
  splitWords "this is a pen"
  |> Array.map  (fun w -> toTitleCase w)  
  |> Array.iter (fun t -> ignore(printf "%s " t))
  0