C#의 Char.IsSymbol() 메서드는 지정된 문자열의 특정 위치에 있는 문자가 유니코드 기호(Symbol) 범주에 속하는지 여부를 판별합니다. 이 메서드는 수학 기호, 통화 기호, 수정자 기호 등을 확인할 때 유용하게 사용됩니다.
문법(Syntax)
public static bool IsSymbol(string str, int index);
매개변수 설명은 다음과 같습니다.
- str : 검사할 대상이 되는 문자열입니다.
- index : str 내에서 검사할 문자의 위치(인덱스)입니다.
또한 단일 문자를 직접 검사하는 오버로드도 제공됩니다.
public static bool IsSymbol(char c);
예제 1 – 일반 문자 검사
다음은 Char.IsSymbol() 메서드를 사용하여 알파벳 문자 'P'를 검사하는 예제입니다.
using System;
public class Demo {
public static void Main(){
bool res;
char val = 'P';
Console.WriteLine("Value = " + val);
res = Char.IsSymbol(val);
Console.WriteLine("Is the value a symbol? = " + res);
}
}출력 결과
Value = P Is the value a symbol? = False
알파벳 'P'는 기호가 아닌 문자이므로 False가 반환됩니다.
예제 2 – 기호 문자 검사
이번에는 '+'처럼 실제 기호에 해당하는 문자를 검사해 보겠습니다.
using System;
public class Demo {
public static void Main(){
bool res;
char val = '+';
Console.WriteLine("Value = " + val);
res = Char.IsSymbol(val);
Console.WriteLine("Is the value a symbol? = " + res);
}
}출력 결과
Value = + Is the value a symbol? = True
'+'는 유니코드에서 수학 기호(Math Symbol) 범주에 속하므로 True가 반환됩니다.
기호로 인식되는 유니코드 범주
Char.IsSymbol()이 true를 반환하는 문자는 다음과 같은 유니코드 범주에 속합니다.
- MathSymbol : +, =, <, > 등 수학 관련 기호
- CurrencySymbol : $, €, £, ₩ 등 통화 기호
- ModifierSymbol : 결합을 위한 수정자 기호
- OtherSymbol : ©, ®, ° 등 위 범주에 속하지 않는 기호
정리
Char.IsSymbol() 메서드는 문자열의 특정 위치 또는 단일 문자가 기호 범주에 해당하는지 간단히 확인할 수 있는 편리한 API입니다. 입력값 유효성 검사나 텍스트 분류 로직을 구현할 때 활용하면 코드의 가독성과 안정성을 높일 수 있습니다.