-
-
Notifications
You must be signed in to change notification settings - Fork 48
/
Capitalize.fs
34 lines (33 loc) · 897 Bytes
/
Capitalize.fs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
namespace Algorithms.Strings
module Capitalize =
/// <summary>
/// This function will capitalize the first letter of a sentence or a word
/// </summary>
/// <example>
/// <code>
/// capitalize("hello world")
/// 'Hello world'
///
/// capitalize("123 hello world")
/// '123 hello world'
///
/// capitalize(" hello world")
/// ' hello world'
///
/// capitalize("a")
/// 'A'
///
/// capitalize("")
/// ''
/// </code>
/// </example>
/// <param name="sentence">String to capitalize.</param>
/// <returns>Capitalized string</returns>
let capitalize (sentence: string) =
match sentence with
| "" -> ""
| s when s.[0] >= 'a' && s.[0] <= 'z' ->
sentence
.Remove(0, 1)
.Insert(0, (string) ((char) ((int) s.[0] - 32)))
| _ -> sentence