웹사이트

Hagi 2020. 4. 3. 10:37

구글 검색창에서


site:사이트명 검색어


라고 검색한다. 

(예 : site:okky.kr 인코딩)

 
 
 

C#

Hagi 2020. 3. 17. 08:53

https://docs.microsoft.com/ko-kr/dotnet/api/system.string.contains?view=netframework-4.8


Contains(String)

이 문자열 내에서 지정한 하위 문자열이 발생하는지를 나타내는 값을 반환합니다.

C#
public bool Contains (string value);

매개 변수

value
String

검색할 문자열입니다.

반환

이 문자열 내에서 true 매개 변수가 발생하거나 value가 빈 문자열("")이면 value이고, 그러지 않으면 false입니다.

예외

value 에 선언된 기본값은 null입니다.

예제

다음 예제에서는 문자열 "fox" 일반적인 따옴표 부분 인지 여부를 결정 합니다. 문자열에서 "fox" 발견 되는 경우 또한 해당 시작 위치를 표시 합니다.

C#
string s1 = "The quick brown fox jumps over the lazy dog";
string s2 = "fox";
bool b = s1.Contains(s2);
Console.WriteLine("'{0}' is in the string '{1}': {2}",
                s2, s1, b);
if (b) {
    int index = s1.IndexOf(s2);
    if (index >= 0)
        Console.WriteLine("'{0} begins at character position {1}",
                      s2, index + 1);                              
}
// This example displays the following output:
//    'fox' is in the string 'The quick brown fox jumps over the lazy dog': True
//    'fox begins at character position 17

설명

이 메서드는 서 수 (대/소문자 구분 및 문화권을 구분 하지 않는) 비교를 수행합니다. 검색이이 문자열의 첫 번째 문자 위치에서 시작 하 고 마지막 문자 위치부터 계속 됩니다.

문자열로 여부를 확인 하려면 이외의 문화권 구분 비교 또는 서 수 대/소문자 구분 비교와 같은 서 수 비교를 사용 하 여 지정된 된 부분 문자열을 포함, 사용자 지정 메서드를 만들 수 있습니다. 다음 예제에서는 이러한 한 가지 방법을 보여 줍니다. 이 클래스는 StringComparison 매개 변수를 포함 하는 String 확장 메서드를 정의 하 고 지정 된 형식의 문자열 비교를 사용할 때 문자열에 하위 문자열이 포함 되는지 여부를 나타냅니다.

C#
using System;

public static class StringExtensions
{
   public static bool Contains(this String str, String substring, 
                               StringComparison comp)
   {                            
        if (substring == null)
            throw new ArgumentNullException("substring", 
                                         "substring cannot be null.");
        else if (! Enum.IsDefined(typeof(StringComparison), comp))
            throw new ArgumentException("comp is not a member of StringComparison",
                                     "comp");

        return str.IndexOf(substring, comp) >= 0;                      
   }
}

다음 예제에서는 Contains 확장 메서드를 호출 하 여 서 수 비교 및 대/소문자를 구분 하지 않는 서 수 비교를 사용할 때 문자열에 부분 문자열이 있는지 여부를 확인 합니다.

C#
String s = "This is a string.";
String sub1 = "this";
Console.WriteLine("Does '{0}' contain '{1}'?", s, sub1);
StringComparison comp = StringComparison.Ordinal;
Console.WriteLine("   {0:G}: {1}", comp, s.Contains(sub1, comp));

comp = StringComparison.OrdinalIgnoreCase;
Console.WriteLine("   {0:G}: {1}", comp, s.Contains(sub1, comp));

// The example displays the following output:
//       Does 'This is a string.' contain 'this'?
//          Ordinal: False
//          OrdinalIgnoreCase: True

현재 인스턴스에서 value 부분 문자열의 위치에 관심이 있는 경우 IndexOf 메서드를 호출 하 여 처음 발견 되는 시작 위치를 가져오거나 LastIndexOf 메서드를 호출 하 여 마지막으로 발생 한 시작 위치를 가져올 수 있습니다. 문자열 인스턴스에 부분 문자열이 있는 경우이 예제에는 IndexOf(String) 메서드에 대 한 호출이 포함 되어 있습니다.


 
 
 

C#

Hagi 2020. 3. 17. 08:53

Regex.IsMatch 메서드

정의

정규식이 입력 문자열에서 일치하는 항목을 찾을 것인지 여부를 나타냅니다.

오버로드

테이블 1
IsMatch(String)

Regex 생성자에 지정된 정규식이 지정된 입력 문자열에서 일치하는 항목을 찾을 것인지 여부를 나타냅니다.

IsMatch(String, Int32)

Regex 생성자에 지정된 정규식이 지정된 입력 문자열의 지정된 시작 위치에서부터 일치하는 항목을 찾을 것인지 여부를 나타냅니다.

IsMatch(String, String)

지정된 정규식이 지정된 입력 문자열에서 일치하는 항목을 찾을 것인지 여부를 나타냅니다.

IsMatch(String, String, RegexOptions)

지정된 정규식이 지정된 일치 옵션을 사용하여 지정된 입력 문자열에서 일치하는 항목을 찾을 것인지 여부를 나타냅니다.

IsMatch(String, String, RegexOptions, TimeSpan)

지정된 정규식이 지정된 일치 옵션 및 시간 제한 간격을 사용하여 지정된 입력 문자열에서 일치하는 항목을 찾을 것인지 여부를 나타냅니다.

IsMatch(String)

Regex 생성자에 지정된 정규식이 지정된 입력 문자열에서 일치하는 항목을 찾을 것인지 여부를 나타냅니다.

C#
public bool IsMatch (string input);

매개 변수

input
String

일치 항목을 검색할 문자열입니다.

반환

정규식에서 일치하는 항목을 찾으면 true이고, 그렇지 않으면 false입니다.

예외

input은 null입니다.

시간이 초과되었습니다. 시간 제한에 대한 자세한 내용은 설명 섹션을 참조하세요.

예제

다음 예제에서는 IsMatch(String) 메서드를 사용 하 여 문자열이 유효한 부분 번호 인지 여부를 확인 하는 방법을 보여 줍니다. 정규식 부품 번호 세 개의 하이픈으로 구분 된 문자 집합으로 구성 된 특정 형식의 권한이 있다고 가정 합니다. 4 개의 문자열을 포함 하는 첫 번째 집합에 두 개의 숫자 뒤에 오고 영숫자가 뒤에 영숫자 문자로 구성 되어야 합니다. 3 자로 구성 된 두 번째 집합에는 숫자 여야 합니다. 4 자로 구성 된 세 번째 집합에 3 개의 숫자 뒤에 영숫자 문자가 있어야 합니다.

C#
using System;
using System.Text.Regularexpressions;

public class Example
{
   public static void Main()
   {
      string[] partNumbers= { "1298-673-4192", "A08Z-931-468A", 
                              "_A90-123-129X", "12345-KKA-1230", 
                              "0919-2893-1256" };
      Regex rgx = new Regex(@"^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$");
      foreach (string partNumber in partNumbers)
         Console.WriteLine("{0} {1} a valid part number.", 
                           partNumber, 
                           rgx.IsMatch(partNumber) ? "is" : "is not");
   }
}
// The example displays the following output:
//       1298-673-4192 is a valid part number.
//       A08Z-931-468A is a valid part number.
//       _A90-123-129X is not a valid part number.
//       12345-KKA-1230 is not a valid part number.
//       0919-2893-1256 is not a valid part number.

정규식 패턴은 다음과 같습니다.

^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$  

다음 테이블은 정규식 패턴이 해석되는 방법을 보여 줍니다.

테이블 2
패턴Description
^줄의 시작 부분에서 일치 항목 찾기를 시작 합니다.
[a-zA-Z0-9]단일 영문자 문자 (a z 또는 A를 통해 Z) 또는 숫자 문자를 찾습니다.
\d{2}두 숫자 문자를 찾습니다.
[a-zA-Z0-9]단일 영문자 문자 (a z 또는 A를 통해 Z) 또는 숫자 문자를 찾습니다.
-하이픈을 찾습니다.
\d{3}정확히 3 개의 숫자 문자를 찾습니다.
(-\d{3}){2}세 자리 숫자로, 뒤에 하이픈 찾고이 패턴의 두 찾습니다.
[a-zA-Z0-9]단일 영문자 문자 (a z 또는 A를 통해 Z) 또는 숫자 문자를 찾습니다.
$줄의 끝에서 일치 항목 찾기를 끝냅니다.

설명

IsMatch 메서드는 일반적으로 문자열의 유효성을 검사 하거나 후속 조작을 위해 문자열을 검색 하지 않고 문자열이 특정 패턴을 따르는지 확인 하는 데 사용 됩니다. 하나 이상의 문자열이 정규식 패턴과 일치 하는지 확인 한 다음 후속 조작을 위해 검색 하려면 Match 또는 Matches 메서드를 호출 합니다.

RegexMatchTimeoutException 예외는 일치 작업의 실행 시간이 Regex.Regex(String, RegexOptions, TimeSpan) 생성자에서 지정한 시간 제한 간격을 초과 하는 경우에 throw 됩니다. 생성자를 호출할 때 시간 제한 간격을 설정 하지 않으면, 작업이 있는 애플리케이션 도메인에 설정 된 제한 시간 값을 초과 하면 예외가 throw 되는 Regex 개체가 만들어집니다. 제한 시간에 정의 된 경우는 Regex 생성자 호출 또는 애플리케이션 도메인의 속성 또는 시간 제한 값이 Regex.InfiniteMatchTimeout, 예외가 throw 되지 않습니다.

출처 : https://docs.microsoft.com/ko-kr/dotnet/api/system.text.regularexpressions.regex.ismatch?view=netframework-4.8 



https://devkimgoon.tistory.com/51


http://egloos.zum.com/sweeper/v/3064600


https://blog.hexabrain.net/205


https://plzhoney.tistory.com/21




https://programmers.co.kr/learn/courses/11/lessons/540


https://programmers.co.kr/learn/courses/11/lessons/918