사용자 입력이 대소 문자 혼합 요구 사항과 일치하는지 확인

RadFox

대소 문자를 혼합하여 테스트하거나 사용자 입력을 대소 문자를 혼합하여 변경하는 방법을 알아 내려고합니다.

현재 내 코드는 다음으로 구성됩니다.

$Type = Read-Host 'Enter MY, OLD, NEWTest, Old_Tests'

그러나 사용자가 정확한 대소 문자를 입력했는지, 그리고 대소 문자를 올바른 대소 문자로 변경하지 않았는지 확인해야합니다. 나는 여기와 다른 웹 사이트에서 너무 많은 다른 질문을 검토했지만, 내가 이해할 수있는 방식으로 혼합 케이스의 유효성을 확인하는 것에 대해 실제로 이야기하는 것은없는 것 같습니다.

  1. 사용자 입력 확인
  2. 대소 문자가 혼합 된 단어와 일치하는 정규식
  3. 문자열 사용자 항목 검증
  4. 문자열이 모두 대문자 (소문자)인지 확인하는 방법은 무엇입니까?
  5. Powershell 알아보기 | 더 많은 것을 달성하십시오
  6. PowerShell에서 매개 변수의 유효성을 검사하는 방법
  7. powershell의 $ args

나는 누구에게도 나를 위해 코드를 작성해달라고 요청하지 않습니다. 항목의 유효성을 검사하고 변경하는 방법을 이해할 수있는 샘플 코드를 요청하고 있습니다.

마크 래그

PowerShell은 기본적으로 대 / 소문자를 구분하지 않는 비교를 수행하므로 질문의 첫 번째 부분에 답하려면 대 / 소문자 구분 비교를 수행해야합니다 -ceq.

$Type = Read-Host 'Enter MY, OLD, NEWTest, Old_Tests'
($Type -ceq 'MY' -or  $Type -ceq 'OLD' -or  $Type -ceq 'NEWTest' -or  $Type -ceq 'Old_Tests')

더 간단한 해결책은 대소 문자 구분을 사용하는 것이지만 -ccontains를 포함합니다.

('MY', 'OLD', 'NEWTest', 'Old_Tests' -ccontains $Type)

케이스를 수정할 수있는 한 가지 방법은 다음과 같습니다.

$Type = Read-Host 'Enter MY, OLD, NEWTest, Old_Tests'

If ('MY', 'OLD', 'NEWTest', 'Old_Tests'  -cnotcontains $Type){

    If ('MY', 'OLD', 'NEWTest', 'Old_Tests' -contains $Type){
        $TextInfo = (Get-Culture).TextInfo

        $Type = Switch ($Type) {
            {$_ -in 'MY','OLD'} { $Type.ToUpper() }
            'NEWTest'           { $Type.Substring(0,4).ToUpper() + $Type.Substring(4,3).ToLower() }
            'Old_Tests'         { $TextInfo.ToTitleCase($Type) }
        }  
    } Else {
        Write-Warning 'You didnt enter one of: MY, OLD, NEWTest, Old_Tests'
    }
}

Write-Output $Type

설명:

먼저 허용되는 4 개의 단어 ( -cnotcontains대소 문자 구분 없음)에 대해 대소 문자가 올바른지 테스트합니다 . 대소 문자가 정확하지 않은 경우 텍스트가 올바른지 테스트합니다 (대소 문자 구분에 신경 쓰지 -contains않음).

텍스트가 정확하면 Switch 문을 사용하여 사례를 적용하려는 다양한 시나리오를 처리합니다.

첫 번째 스위치 테스트는 처음 두 단어를 일치시키고 단순히 ToUpper()문자열 메서드를 사용하여 대문자로 표시합니다 .

두 번째 전환 테스트는 문자열 메서드 SubString사용하여 첫 번째 문자 (0)에서 시작하여 4 자 길이를 취하는 문자열의 하위 집합을 가져옵니다. 이를 ToUpper로 대문자로 입력 한 다음 4 번째 문자부터 시작하여 문자열의 다음 3 개 문자를 추가하여 ToLower().

get-culture cmdlet에서 가져온 .NET 메서드로 처리하는 마지막 스위치 테스트는 제목 대소 문자를 문자열로 만들 수 있습니다 (각 단어의 첫 글자를 대문자로 만듭니다).

입력 된 텍스트가 우리가 사용하는 옵션 중 하나와 일치하지 않는 경우 write-warning(PowerShell 4 이상이 필요할 수 있습니다 (이를 변경하지 않은 경우 write-host)) 콘솔에 경고를 인쇄합니다.

마지막으로 입력 한 내용이 무엇이든 stdout에 Write-Output.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

사용자 입력이 수학 함수 결과와 일치하는지 어떻게 확인합니까?

분류에서Dev

두 문자열이 회문인지 확인-대소 문자를 무시하고 사용합니까?

분류에서Dev

C의 사용자 입력에 대한 구조 요소 확인 및 비교

분류에서Dev

ID가 사용자 입력 문자열과 부분적으로 일치하지 않는 요소 선택

분류에서Dev

사용자 입력이 목록의 항목 색인과 동일한 지 확인

분류에서Dev

사용자 입력이 알파벳 문자인지 확인

분류에서Dev

사용자 입력이 문자열이 아닌지 확인

분류에서Dev

사용자 입력이 문자열이 아닌지 확인

분류에서Dev

사용자 입력이 정수이고 0보다 큰지 확인하는 데 도움이 필요합니다.

분류에서Dev

대문자 및 \ n이 혼합 된 문자열과 일치하는 정규식

분류에서Dev

사용자 이름이 내 Joomla 구성 요소 양식에 있는지 확인

분류에서Dev

대소 문자를 구분하는 사용자 이름과 비밀번호를 일치시키는 방법

분류에서Dev

특정 요구 사항에 대한 문자열을 확인하는 방법

분류에서Dev

일치하는 항목을 찾은 정규식 대소 문자를 구분하지 않고 어떻게 바꾸지 만 결과를 확장합니까?

분류에서Dev

사용자 입력이 특정 문자인지 확인하는 방법

분류에서Dev

Python-사용자 입력이 조건과 일치하는지 확인하는 함수

분류에서Dev

zsh 자동 완성은 대문자를 입력 한 경우에만 대소 문자 구분 일치를 사용합니다.

분류에서Dev

Angular 2는 템플릿의 확인란 값을 사용하여 구성 요소의 입력 상자를 활성화합니다.

분류에서Dev

사용자 입력 문자열의 대소 문자를 구분하지 않는 비교

분류에서Dev

쉘 스크립트-단일 문자 입력이 대문자, 소문자 또는 특수 문자인지 확인

분류에서Dev

사용자 입력을 확인하여 입력이 C에서 올바른 형식인지 확인합니다.

분류에서Dev

Laravel 8 : 로그인 정보를 요구하지 않고 등록 후 사용자 이메일 주소를 어떻게 확인합니까?

분류에서Dev

Amazon SES 주소 확인 요청 이메일 사용자 지정

분류에서Dev

AIML 입력 문자열이 맵의 문자열과 일치하는지 확인하는 방법

분류에서Dev

사용자 이름을 사용한 라 라벨 인증은 대소 문자를 구분하지 않습니다

분류에서Dev

where in 절에서 SQL 사용 대소 문자를 구분하지 않는 일치

분류에서Dev

사용자가 입력 한 날짜가 IF 문 내에서 두 날짜 사이인지 확인합니까? 씨#

분류에서Dev

MVC UserManager 로그인 대소 문자를 구분하지 않는 사용자 이름

분류에서Dev

사용자 입력 onchange를 부모 구성 요소에 전달하는 Javascript 문제에 대응

Related 관련 기사

  1. 1

    사용자 입력이 수학 함수 결과와 일치하는지 어떻게 확인합니까?

  2. 2

    두 문자열이 회문인지 확인-대소 문자를 무시하고 사용합니까?

  3. 3

    C의 사용자 입력에 대한 구조 요소 확인 및 비교

  4. 4

    ID가 사용자 입력 문자열과 부분적으로 일치하지 않는 요소 선택

  5. 5

    사용자 입력이 목록의 항목 색인과 동일한 지 확인

  6. 6

    사용자 입력이 알파벳 문자인지 확인

  7. 7

    사용자 입력이 문자열이 아닌지 확인

  8. 8

    사용자 입력이 문자열이 아닌지 확인

  9. 9

    사용자 입력이 정수이고 0보다 큰지 확인하는 데 도움이 필요합니다.

  10. 10

    대문자 및 \ n이 혼합 된 문자열과 일치하는 정규식

  11. 11

    사용자 이름이 내 Joomla 구성 요소 양식에 있는지 확인

  12. 12

    대소 문자를 구분하는 사용자 이름과 비밀번호를 일치시키는 방법

  13. 13

    특정 요구 사항에 대한 문자열을 확인하는 방법

  14. 14

    일치하는 항목을 찾은 정규식 대소 문자를 구분하지 않고 어떻게 바꾸지 만 결과를 확장합니까?

  15. 15

    사용자 입력이 특정 문자인지 확인하는 방법

  16. 16

    Python-사용자 입력이 조건과 일치하는지 확인하는 함수

  17. 17

    zsh 자동 완성은 대문자를 입력 한 경우에만 대소 문자 구분 일치를 사용합니다.

  18. 18

    Angular 2는 템플릿의 확인란 값을 사용하여 구성 요소의 입력 상자를 활성화합니다.

  19. 19

    사용자 입력 문자열의 대소 문자를 구분하지 않는 비교

  20. 20

    쉘 스크립트-단일 문자 입력이 대문자, 소문자 또는 특수 문자인지 확인

  21. 21

    사용자 입력을 확인하여 입력이 C에서 올바른 형식인지 확인합니다.

  22. 22

    Laravel 8 : 로그인 정보를 요구하지 않고 등록 후 사용자 이메일 주소를 어떻게 확인합니까?

  23. 23

    Amazon SES 주소 확인 요청 이메일 사용자 지정

  24. 24

    AIML 입력 문자열이 맵의 문자열과 일치하는지 확인하는 방법

  25. 25

    사용자 이름을 사용한 라 라벨 인증은 대소 문자를 구분하지 않습니다

  26. 26

    where in 절에서 SQL 사용 대소 문자를 구분하지 않는 일치

  27. 27

    사용자가 입력 한 날짜가 IF 문 내에서 두 날짜 사이인지 확인합니까? 씨#

  28. 28

    MVC UserManager 로그인 대소 문자를 구분하지 않는 사용자 이름

  29. 29

    사용자 입력 onchange를 부모 구성 요소에 전달하는 Javascript 문제에 대응

뜨겁다태그

보관