# 문자열 함수

{% hint style="info" %}
PantherFlow는 Panther 버전 1.110부터 오픈 베타로 제공되며, 모든 고객이 사용할 수 있습니다. 버그 보고 및 기능 요청이 있으면 Panther 지원팀에 공유해 주세요.
{% endhint %}

## `strings.cat()`

`strings.cat(str: string, str: string, ... ) -> string`

문자열을 이어 붙입니다.

**예시:**

```kusto
panther_logs.public.aws_alb
| project clientAddr=strings.cat(clientIp, ':', clientPort)
```

## `strings.contains()`

`strings.contains(str: any, substr: string) -> bool`

다음이면 true를 반환합니다. `str` 포함 `substr`. 다음이면 `str` 문자열이 아니면 먼저 문자열로 변환됩니다.

**예시:**

```kusto
panther_logs.public.aws_alb
| project usingMozilla=strings.contains(userAgent, "Mozilla")
```

## `strings.ends_with()`

`strings.ends_with(str: string, postfix: string) -> bool`

다음이면 true를 반환합니다. `str` ends with `postfix`.

**예시:**

```kusto
panther_logs.public.aws_alb
| project usingSHA256=strings.ends_with(sslCipher, "SHA256")
```

## `strings.ilike()`

`strings.ilike(str: any, substr: string) -> bool`

다음이면 true를 반환합니다. `str` 포함 `substr` 대소문자를 구분하지 않는 SQL LIKE 의미를 따릅니다.

**예시:**

```kusto
panther_logs.public.aws_alb
| project usingSHA=strings.ilike(sslCipher, "%sha%")
```

## `strings.join()`

`strings.join(elements: [string], sep: string) -> string`

다음을 반환합니다. `elements` 를 다음으로 연결한 값 `sep` 가 각 요소 사이에 들어갑니다.

**예시:**

```kusto
panther_logs.public.aws_alb
| project same=strings.join(strings.split(domainName, "."), ".")
```

## `strings.len()`

`strings.len(str: any) -> int`

다음의 길이를 반환합니다. `str`. 다음이면 `str` 문자열이 아니면 먼저 문자열로 변환됩니다.

**예시:**

```kusto
panther_logs.public.aws_alb
| project keyLen=strings.len(p_source_file.aws_s3_key)
```

## `strings.like()`

`strings.like(str: any, substr: string) -> bool`

다음이면 true를 반환합니다. `str` 포함 `substr` SQL LIKE 의미를 따릅니다.

**예시:**

```kusto
panther_logs.public.aws_alb
| project usingSHA=strings.like(sslCipher, "%SHA%")
```

## `strings.lower()`

`strings.lower(str: string) -> string`

다음을 반환합니다. `str` 소문자로 변환됩니다.

**예시:**

```kusto
panther_logs.public.aws_alb
| project action=strings.cat(strings.lower(requestHttpMethod), " a letter")
```

## `strings.split()`

`strings.split(str: any, sep: string) -> [string]`

다음의 부분 문자열 목록을 반환합니다. `str` 다음으로 구분된 `sep`.

**예시:**

```kusto
panther_logs.public.aws_alb
| project ip_parts=strings.split(clientIp, ".")
```

## `strings.starts_with()`

`strings.starts_with(str: string, prefix: string) -> bool`

다음이면 true를 반환합니다. `str` starts with `prefix`.

**예시:**

```kusto
panther_logs.public.aws_alb
| project targetingLoadBalancer=strings.starts_with(targetGroupArn, "arn:aws:elasticloadbalancing")
```

## `strings.upper()`

`strings.upper(str: string) -> string`

다음을 반환합니다. `str` 대문자로 변환됩니다.

**예시:**

```kusto
panther_logs.public.aws_alb
| project bigDomain=strings.upper(domainName)
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.panther.com/ko/pantherflow/functions/string.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
