strrep
Usage#
Syntax#
strrep(value, multiplier, delimiter)Parameters#
| Name | Type | Required | Description |
|---|---|---|---|
| value | string | Yes | The string to repeat. |
| multiplier | int | Yes | Number of repetitions (1 to 1024). Values over 1024 are capped at 1024. |
| delimiter | string | No | Optional delimiter between repetitions (default: empty string). |
Returns#
Returns the string repeated the specified number of times with optional delimiters between repetitions.
Use case examples#
Create visual separators or formatting patterns for log output visualization.
Query
['sample-http-logs']
| extend separator = strrep('=', 50)
| extend formatted_log = strcat(separator, '\n', method, ' ', uri, ' ', status, '\n', separator)
| project _time, formatted_log
| limit 5Output
| _time | formatted_log |
|---|---|
| 2024-11-06T10:00:00Z | ================================================== GET /api/users 200 ================================================== |
This query creates visual separators using repeated equal signs, making log output more readable and organized.
Generate indentation patterns based on trace depth for hierarchical visualization.
Query
['otel-demo-traces']
| extend simulated_depth = 3
| extend indentation = strrep(' ', simulated_depth)
| extend formatted_span = strcat(indentation, ['service.name'], ': ', kind)
| project _time, formatted_span, trace_id
| limit 10Output
| _time | formatted_span | trace_id |
|---|---|---|
| 2024-11-06T10:00:00Z | frontend: server | abc123 |
| 2024-11-06T10:01:00Z | checkout: client | def456 |
This query creates hierarchical indentation for trace visualization by repeating spaces based on simulated span depth.
Generate test patterns for attack signature detection or create anonymization masks.
Query
['sample-http-logs']
| extend id_length = strlen(id)
| extend anonymized_id = strcat(substring(id, 0, 3), strrep('*', id_length - 6), substring(id, id_length - 3, 3))
| project _time, id, anonymized_id, status, uri
| limit 10Output
| _time | id | anonymized_id | status | uri |
|---|---|---|---|---|
| 2024-11-06T10:00:00Z | user123456 | use****456 | 403 | /admin |
| 2024-11-06T10:01:00Z | admin12345 | adm***345 | 401 | /api |
This query creates anonymized user IDs by replacing middle characters with repeated asterisks, maintaining partial visibility for analysis while protecting privacy.
List of related functions#
- strcat: Concatenates strings. Use this with strrep to build complex repeated patterns.
- strcat_delim: Concatenates strings with delimiters. Use strrep's delimiter parameter as an alternative for repeated patterns.
- strlen: Returns string length. Use this to calculate how many repetitions you need.
- substring: Extracts parts of strings. Use this with strrep for complex pattern building.
Other query languages#
Splunk SPL users
In Splunk SPL, repeating strings typically requires custom functions or loops. APL's strrep provides this functionality natively.
Splunk example
| eval repeated=mvjoin(mvappend("text","text","text"), "")APL equivalent
['sample-http-logs']
| extend repeated = strrep('text', 3)ANSI SQL users
In ANSI SQL, you use REPEAT or REPLICATE depending on the database. APL's strrep provides standardized string repetition.
SQL example
SELECT REPEAT('text', 3) AS repeated FROM logs;APL equivalent
['sample-http-logs']
| extend repeated = strrep('text', 3)