Casefold

Casefold( value, [ normalizer ] )
Casefold( value, [ normalizer ] )
Casefold( value, [ normalizer ] )
Casefold( value, [ normalizer ] )
casefold( value, [ normalizer ] )
Casefold( value, [ normalizer ] )
Casefold( value, [ normalizer ] )

Description

The Casefold function returns a normalized string. When strings are transformed into their normalized forms, canonical-equivalent strings have precisely the same binary representation. Then, a binary comparison function such as equals can compare two strings for case-insensitive matching.

The Unicode Standard provides well-defined normalization forms (see Section 5.18, Case Mappings).

By default, Fauna uses NKFCCaseFold as recommended by the W3C, but provides NFKCCaseFold, NFC, NFD, NFKC, NFKD.

Parameters

Argument Type Definition and Requirements

value

A string to normalize.

normalizer

Optional - The name of the normalizer method to use. Must be one of "NFKCCaseFold", "NFC", "NFD", "NFKC", or "NFKD". Defaults to "NFKCCaseFold".

Returns

A string value.

Examples

The following query converts the string "Hen Wen" to "hen wen" to support case-insensitive matching:

try
{
    Value result = await client.Query(
        Casefold("Hen Wen")
    );
    Console.WriteLine(result);
}
catch (Exception e)
{
    Console.WriteLine($"ERROR: {e.Message}");
}
StringV(hen wen)
result, err := client.Query(
	f.Casefold("Hen Wen"))

if err != nil {
	fmt.Fprintln(os.Stderr, err)
} else {
	fmt.Println(result)
}
hen wen
System.out.println(
    client.query(
        Casefold(Value("Hen Wen"))
    ).get());
"hen wen"
client.query(
  q.Casefold('Hen Wen')
)
.then((ret) => console.log(ret))
.catch((err) => console.error('Error: %s', err))
hen wen
result = client.query(
    q.casefold("Hen Wen")
)
print(result)
hen wen
try {
  println(Await.result(
    client.query(Casefold("Hen Wen")),
    5.seconds
  ))
} catch {
  case unknown: Throwable => println("Error: " + unknown.getMessage())
}
"hen wen"
Casefold('Hen Wen')
'hen wen'

Was this article helpful?

We're sorry to hear that.
Tell us how we can improve!
Visit Fauna's Discourse forums or email docs@fauna.com

Thank you for your feedback!