본문 바로가기
카테고리 없음

문자열에서 `::` 로 시작하는 단어만 제외하는 방법

by keisoft 2024. 8. 21.

.NET에서 문자열에서 `::` 로 시작하는 단어만 제외하는 방법은 다음과 같습니다:



using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        string input = ":acd ::data) :dfg ::value";
        
        // "::"로 시작하는 단어를 제거하는 정규식
        string pattern = @"::\w+\b";
        
        // 정규식을 사용하여 매칭되는 문자열을 빈 문자열로 대체
        string result = Regex.Replace(input, pattern, string.Empty);
        
        // 결과 출력
        Console.WriteLine(result.Trim());
    }
}



```csharp
using System.Text.RegularExpressions;

string input = ":abc ::data) :dfg ::value";
string pattern = @"(?<=\s|^)::(\w+)(?=\s|$)"; // ::로 시작하는 단어 패턴
string output = Regex.Replace(input, pattern, "");

Console.WriteLine(output); // 출력: :abc ) :dfg
```

주요 설명:

1. `Regex.Replace()` 메서드를 사용하여 문자열 치환을 수행합니다.
2. 정규식 패턴 `@"(?<=\s|^)::(\w+)(?=\s|$)"`은 다음을 의미합니다:
   - `(?<=\s|^)` - 앞쪽에 공백 문자 또는 문자열 시작이 있는지 확인
   - `::` - `::` 문자
   - `(\w+)` - 하나 이상의 알파벳/숫자 문자
   - `(?=\s|$)` - 뒤쪽에 공백 문자 또는 문자열 끝이 있는지 확인
3. 치환 결과 문자열은 `::` 로 시작하는 단어가 제거된 `":abc ) :dfg"` 입니다.

이와 같은 방법으로 입력 문자열에서 `::` 로 시작하는 단어만 제거할 수 있습니다.