String Module
Functional programming operators for string processing. Further string operations are available via the member functions on strings and other functionality in System.String and System.Text.RegularExpressions types.
Functions and values
| Function or value | 
            Description
             | 
        ||
            
                
              
              
             | 
          
            
                
              
                      Builds a new string whose characters are the results of applying the function  
 
 ExampleThe following samples shows how to interspace spaces in a text 
val input: string 
module String
from Microsoft.FSharp.Core 
val collect: mapping: (char -> string) -> str: string -> string 
val sprintf: format: Printf.StringFormat<'T> -> 'T 
 The sample evaluates to "S t e f a n   s a y s :   H i ! "
              
              ExampleHow to show the ASCII representation of a very secret text 
module String
from Microsoft.FSharp.Core 
val collect: mapping: (char -> string) -> str: string -> string 
val chr: char 
Multiple items 
val int: value: 'T -> int (requires member op_Explicit) -------------------- type int = int32 -------------------- type int<'Measure> = int val sprintf: format: Printf.StringFormat<'T> -> 'T 
 The sample evaluates to "83 101 99 114 101 116 "
              
             | 
        ||
            
                
              
              
                  Full Usage: 
                   
              String.concat sep strings
                  Parameters: 
 string
                       - 
                      The separator string to be inserted between the strings
 of the input sequence.
                    
                    strings : string seq
                       - 
                      The sequence of strings to be concatenated.
                    
                    Returns: string
                  
                  A new string consisting of the concatenated strings separated by
 the separation string.
                   | 
          
            
                
              
                      Returns a new string made by concatenating the given strings
 with separator  
 
 
 Example
 
val input1: string list 
module String
from Microsoft.FSharp.Core 
val concat: sep: string -> strings: string seq -> string 
val input2: string list 
Multiple items 
module List from Microsoft.FSharp.Collections -------------------- type List<'T> = | op_Nil | op_ColonColon of Head: 'T * Tail: 'T list interface IReadOnlyList<'T> interface IReadOnlyCollection<'T> interface IEnumerable interface IEnumerable<'T> member GetReverseIndex: rank: int * offset: int -> int member GetSlice: startIndex: int option * endIndex: int option -> 'T list static member Cons: head: 'T * tail: 'T list -> 'T list member Head: 'T member IsEmpty: bool member Item: index: int -> 'T with get ... val map: mapping: ('T -> 'U) -> list: 'T list -> 'U list 
Multiple items 
val string: value: 'T -> string -------------------- type string = System.String val input3: string list 
              
             | 
        ||
            
                
              
              
             | 
          
            
                
              Tests if any character of the string satisfies the given predicate. 
 
 ExampleLooking for uppercase characters 
namespace System 
Multiple items 
type String = interface IEnumerable<char> interface IEnumerable interface ICloneable interface IComparable interface IComparable<string> interface IConvertible interface IEquatable<string> interface IParsable<string> interface ISpanParsable<string> new: value: nativeptr<char> -> unit + 8 overloads ... <summary>Represents text as a sequence of UTF-16 code units.</summary> -------------------- String(value: nativeptr<char>) : String String(value: char array) : String String(value: ReadOnlySpan<char>) : String String(value: nativeptr<sbyte>) : String String(c: char, count: int) : String String(value: nativeptr<char>, startIndex: int, length: int) : String String(value: char array, startIndex: int, length: int) : String String(value: nativeptr<sbyte>, startIndex: int, length: int) : String String(value: nativeptr<sbyte>, startIndex: int, length: int, enc: Text.Encoding) : String val exists: predicate: (char -> bool) -> str: string -> bool 
[<Struct>]
type Char =
  member CompareTo: value: char -> int + 1 overload
  member Equals: obj: char -> bool + 1 overload
  member GetHashCode: unit -> int
  member GetTypeCode: unit -> TypeCode
  member ToString: unit -> string + 2 overloads
  static member ConvertFromUtf32: utf32: int -> string
  static member ConvertToUtf32: highSurrogate: char * lowSurrogate: char -> int + 1 overload
  static member GetNumericValue: c: char -> float + 1 overload
  static member GetUnicodeCategory: c: char -> UnicodeCategory + 1 overload
  static member IsAscii: c: char -> bool
  ... 
<summary>Represents a character as a UTF-16 code unit.</summary> Char.IsUpper(c: char) : bool 
              
            Char.IsUpper(s: string, index: int) : bool  | 
        ||
            
                
              
              
             | 
          
            
                
              Builds a new string containing only the characters of the input string for which the given predicate returns "true". Returns an empty string if the input string is null 
 
 ExampleFiltering out just alphanumeric characters 
namespace System 
val input: string 
Multiple items 
type String = interface IEnumerable<char> interface IEnumerable interface ICloneable interface IComparable interface IComparable<string> interface IConvertible interface IEquatable<string> interface IParsable<string> interface ISpanParsable<string> new: value: nativeptr<char> -> unit + 8 overloads ... <summary>Represents text as a sequence of UTF-16 code units.</summary> -------------------- String(value: nativeptr<char>) : String String(value: char array) : String String(value: ReadOnlySpan<char>) : String String(value: nativeptr<sbyte>) : String String(c: char, count: int) : String String(value: nativeptr<char>, startIndex: int, length: int) : String String(value: char array, startIndex: int, length: int) : String String(value: nativeptr<sbyte>, startIndex: int, length: int) : String String(value: nativeptr<sbyte>, startIndex: int, length: int, enc: Text.Encoding) : String val filter: predicate: (char -> bool) -> str: string -> string 
Multiple items 
type Uri = interface IEquatable<Uri> interface IFormattable interface ISpanFormattable interface ISerializable new: uriString: string -> unit + 6 overloads member Equals: comparand: obj -> bool + 1 overload member GetComponents: components: UriComponents * format: UriFormat -> string member GetHashCode: unit -> int member GetLeftPart: part: UriPartial -> string member IsBaseOf: uri: Uri -> bool ... <summary>Provides an object representation of a uniform resource identifier (URI) and easy access to the parts of the URI.</summary> -------------------- Uri(uriString: string) : Uri Uri(uriString: string, creationOptions: inref<UriCreationOptions>) : Uri Uri(uriString: string, uriKind: UriKind) : Uri Uri(baseUri: Uri, relativeUri: string) : Uri Uri(baseUri: Uri, relativeUri: Uri) : Uri Uri.IsHexDigit(character: char) : bool 
              
              ExampleFiltering out just digits 
namespace System 
Multiple items 
type String = interface IEnumerable<char> interface IEnumerable interface ICloneable interface IComparable interface IComparable<string> interface IConvertible interface IEquatable<string> interface IParsable<string> interface ISpanParsable<string> new: value: nativeptr<char> -> unit + 8 overloads ... <summary>Represents text as a sequence of UTF-16 code units.</summary> -------------------- String(value: nativeptr<char>) : String String(value: char array) : String String(value: ReadOnlySpan<char>) : String String(value: nativeptr<sbyte>) : String String(c: char, count: int) : String String(value: nativeptr<char>, startIndex: int, length: int) : String String(value: char array, startIndex: int, length: int) : String String(value: nativeptr<sbyte>, startIndex: int, length: int) : String String(value: nativeptr<sbyte>, startIndex: int, length: int, enc: Text.Encoding) : String val filter: predicate: (char -> bool) -> str: string -> string 
[<Struct>]
type Char =
  member CompareTo: value: char -> int + 1 overload
  member Equals: obj: char -> bool + 1 overload
  member GetHashCode: unit -> int
  member GetTypeCode: unit -> TypeCode
  member ToString: unit -> string + 2 overloads
  static member ConvertFromUtf32: utf32: int -> string
  static member ConvertToUtf32: highSurrogate: char * lowSurrogate: char -> int + 1 overload
  static member GetNumericValue: c: char -> float + 1 overload
  static member GetUnicodeCategory: c: char -> UnicodeCategory + 1 overload
  static member IsAscii: c: char -> bool
  ... 
<summary>Represents a character as a UTF-16 code unit.</summary> Char.IsDigit(c: char) : bool 
              
            Char.IsDigit(s: string, index: int) : bool  | 
        ||
            
                
              
              
             | 
          
            
                
              Tests if all characters in the string satisfy the given predicate. 
 
 ExampleLooking for lowercase characters 
namespace System 
Multiple items 
type String = interface IEnumerable<char> interface IEnumerable interface ICloneable interface IComparable interface IComparable<string> interface IConvertible interface IEquatable<string> interface IParsable<string> interface ISpanParsable<string> new: value: nativeptr<char> -> unit + 8 overloads ... <summary>Represents text as a sequence of UTF-16 code units.</summary> -------------------- String(value: nativeptr<char>) : String String(value: char array) : String String(value: ReadOnlySpan<char>) : String String(value: nativeptr<sbyte>) : String String(c: char, count: int) : String String(value: nativeptr<char>, startIndex: int, length: int) : String String(value: char array, startIndex: int, length: int) : String String(value: nativeptr<sbyte>, startIndex: int, length: int) : String String(value: nativeptr<sbyte>, startIndex: int, length: int, enc: Text.Encoding) : String val forall: predicate: (char -> bool) -> str: string -> bool 
[<Struct>]
type Char =
  member CompareTo: value: char -> int + 1 overload
  member Equals: obj: char -> bool + 1 overload
  member GetHashCode: unit -> int
  member GetTypeCode: unit -> TypeCode
  member ToString: unit -> string + 2 overloads
  static member ConvertFromUtf32: utf32: int -> string
  static member ConvertToUtf32: highSurrogate: char * lowSurrogate: char -> int + 1 overload
  static member GetNumericValue: c: char -> float + 1 overload
  static member GetUnicodeCategory: c: char -> UnicodeCategory + 1 overload
  static member IsAscii: c: char -> bool
  ... 
<summary>Represents a character as a UTF-16 code unit.</summary> Char.IsLower(c: char) : bool 
              
            Char.IsLower(s: string, index: int) : bool  | 
        ||
            
                
              
              
             | 
          
            
                
              
                      Builds a new string whose characters are the results of applying the function  
 
 
 ExampleEnumerate digits ASCII codes 
module String
from Microsoft.FSharp.Core 
val init: count: int -> initializer: (int -> string) -> string 
val i: int 
Multiple items 
val int: value: 'T -> int (requires member op_Explicit) -------------------- type int = int32 -------------------- type int<'Measure> = int val sprintf: format: Printf.StringFormat<'T> -> 'T 
 The sample evaluates to: "48 49 50 51 52 53 54 55 56 57 "
              
             | 
        ||
            
                
              
              
             | 
          
            
                
              
                      Applies the function  
 ExamplePrinting the ASCII code for each character in the string 
val input: string 
module String
from Microsoft.FSharp.Core 
val iter: action: (char -> unit) -> str: string -> unit 
val c: char 
val printfn: format: Printf.TextWriterFormat<'T> -> 'T 
Multiple items 
 The sample evaluates as val int: value: 'T -> int (requires member op_Explicit) -------------------- type int = int32 -------------------- type int<'Measure> = int unit, but prints:
 
              
             | 
        ||
            
                
              
              
             | 
          
            
                
              
                      Applies the function  
 ExampleNumbering the characters and printing the associated ASCII code for each character in the input string 
val input: string 
module String
from Microsoft.FSharp.Core 
val iteri: action: (int -> char -> unit) -> str: string -> unit 
val i: int 
val c: char 
val printfn: format: Printf.TextWriterFormat<'T> -> 'T 
Multiple items 
 The sample evaluates as val int: value: 'T -> int (requires member op_Explicit) -------------------- type int = int32 -------------------- type int<'Measure> = int unit, but prints:
 
              
             | 
        ||
            
                
              
              
             | 
          
            
                
              Returns the length of the string. 
 
 ExampleGetting the length of different strings 
module String
from Microsoft.FSharp.Core 
val length: str: string -> int 
              
             | 
        ||
            
                
              
              
             | 
          
            
                
              
                      Builds a new string whose characters are the results of applying the function  
 
 ExampleChanging case to upper for all characters in the input string 
namespace System 
val input: string 
Multiple items 
type String = interface IEnumerable<char> interface IEnumerable interface ICloneable interface IComparable interface IComparable<string> interface IConvertible interface IEquatable<string> interface IParsable<string> interface ISpanParsable<string> new: value: nativeptr<char> -> unit + 8 overloads ... <summary>Represents text as a sequence of UTF-16 code units.</summary> -------------------- String(value: nativeptr<char>) : String String(value: char array) : String String(value: ReadOnlySpan<char>) : String String(value: nativeptr<sbyte>) : String String(c: char, count: int) : String String(value: nativeptr<char>, startIndex: int, length: int) : String String(value: char array, startIndex: int, length: int) : String String(value: nativeptr<sbyte>, startIndex: int, length: int) : String String(value: nativeptr<sbyte>, startIndex: int, length: int, enc: Text.Encoding) : String val map: mapping: (char -> char) -> str: string -> string 
[<Struct>]
type Char =
  member CompareTo: value: char -> int + 1 overload
  member Equals: obj: char -> bool + 1 overload
  member GetHashCode: unit -> int
  member GetTypeCode: unit -> TypeCode
  member ToString: unit -> string + 2 overloads
  static member ConvertFromUtf32: utf32: int -> string
  static member ConvertToUtf32: highSurrogate: char * lowSurrogate: char -> int + 1 overload
  static member GetNumericValue: c: char -> float + 1 overload
  static member GetUnicodeCategory: c: char -> UnicodeCategory + 1 overload
  static member IsAscii: c: char -> bool
  ... 
<summary>Represents a character as a UTF-16 code unit.</summary> Char.ToUpper(c: char) : char 
              
            Char.ToUpper(c: char, culture: Globalization.CultureInfo) : char  | 
        ||
            
                
              
                      Builds a new string whose characters are the results of applying the function  
 
 Example
 
module String
from Microsoft.FSharp.Core 
val mapi: mapping: (int -> char -> char) -> str: string -> string 
val i: int 
val c: char 
 Evaluates to [ (0, 'O'); (1, 'K'); (2, '!') ].
 
              
             | 
        |||
            
                
              
              
             | 
          
            
                
              
              
                      Returns a string by concatenating  
 
 Example
 
module String
from Microsoft.FSharp.Core 
val replicate: count: int -> str: string -> string 
 Evaluates to "Do it!Do it!Do it!".
 
              
             | 
        
            FSharp.Core