2019-10-21 04:22:28 -04:00
---
2023-10-20 03:42:39 -04:00
title: strings.Substr
linkTitle: substr
2019-10-21 04:22:28 -04:00
description: Extracts parts of a string from a specified character's position and returns the specified number of characters.
categories: [functions]
2023-10-20 03:42:39 -04:00
keywords: []
2019-10-21 04:22:28 -04:00
menu:
docs:
2023-05-22 10:43:12 -04:00
parent: functions
2023-10-20 03:42:39 -04:00
function:
aliases: [substr]
returnType: string
signatures: ['strings.Substr STRING START [LENGTH]']
relatedFunctions: []
aliases: [/functions/substr]
2019-10-21 04:22:28 -04:00
---
2023-08-30 13:23:47 -04:00
It normally takes two argument: `start` and `length` . It can also take one argument: `start` , i.e. `length` is omitted, in which case the substring starting from start until the end of the string will be returned.
2019-10-21 04:22:28 -04:00
To extract characters from the end of the string, use a negative start number.
2021-12-08 02:42:31 -05:00
If `length` is given and is negative, that number of characters will be omitted from the end of string.
2019-10-21 04:22:28 -04:00
2023-05-22 10:43:12 -04:00
```go-html-template
2021-01-20 06:47:49 -05:00
{{ substr "abcdef" 0 }} → "abcdef"
{{ substr "abcdef" 1 }} → "bcdef"
{{ substr "abcdef" 0 1 }} → "a"
{{ substr "abcdef" 1 1 }} → "b"
{{ substr "abcdef" 0 -1 }} → "abcde"
{{ substr "abcdef" 1 -1 }} → "bcde"
{{ substr "abcdef" -1 }} → "f"
{{ substr "abcdef" -2 }} → "ef"
{{ substr "abcdef" -1 1 }} → "f"
{{ substr "abcdef" -2 1 }} → "e"
{{ substr "abcdef" -3 -1 }} → "de"
{{ substr "abcdef" -3 -2 }} → "d"
2019-10-21 04:22:28 -04:00
```