Ruby에서 하위 문자열 가져오기
문자열은 임의의 바이트 시퀀스를 전달하고 이 시퀀스에서 작동하며 모든 프로그래밍 언어의 기본 요소 중 하나입니다. 모든 프로그램의 기본 구축의 일부이기 때문에 문자열 작업을 이해하고 문자열을 사용하여 복잡한 작업을 수행하는 방법을 알고 있어야 합니다.
이 기사에서는 Ruby에서 문자열에서 하위 문자열을 만드는 방법을 예제와 함께 소개합니다.
Ruby의 하위 문자열 방법
하위 문자열은 기존 문자열에서 가져온 범위 또는 특정 문자 배열입니다. 하위 문자열을 조작하는 것은 사용자가 문자열의 특정 부분(예: 문자열의 초기, 최종 및 중간 부분)에서 작업하려는 경우 매우 적절한 접근 방식입니다.
Ruby에는 하위 문자열 메서드가 없으므로 범위와 표현식에 의존합니다. 범위를 사용하려면 하위 문자열의 시작 인덱스와 끝 인덱스 사이에 마침표를 사용하여 기본 문자열에서 새 하위 문자열을 가져와야 합니다.
하위 문자열의 시작점을 사용하려는 경우에만 두 숫자 사이에 쉼표(,
)를 사용할 수도 있습니다. 두 번째 숫자는 시작점에서 하위 문자열에 포함하려는 요소의 수를 나타냅니다.
범위 예제의 경우 먼저 0에서 4까지 5개의 문자가 있는 "virus"
라는 문자열을 살펴보겠습니다. 역순으로 하위 문자열을 얻으려면 범위에서 음의 끝을 사용할 수 있습니다. 문자열의 길이부터 거꾸로 세십시오.
점(.
)은 Ruby에서 마침표로 사용할 수 있으며 범위 내에서 마침표를 사용할 수 있습니다. 우리는 2 또는 3 기간을 사용할 수 있습니다.
Python과 달리 범위 내에서 콜론(:
)을 사용할 수 없습니다. 대신 마침표(.
) 범위를 사용할 수 있습니다.
아래와 같이 위의 시나리오를 사용하여 Ruby에서 하위 문자열을 가져옵니다.
암호:
# ruby
StringForSub = "virus"
StartSub = value[0..3]
MidSub = value[2..3]
EndSub = value[3..-1]
puts StartSub
puts MidSub
puts EndSub
출력:
위의 출력을 통해 인덱싱 방법을 사용하여 기본 문자열에서 하위 문자열을 쉽게 만들 수 있습니다.
범위 내에서 쉼표(,
)를 사용하려면 2개의 숫자를 사용합니다. 첫 번째 숫자는 새 하위 문자열의 시작점이 되고 두 번째 숫자는 하위 문자열의 길이가 됩니다.
다음 예제에서는 Ruby에서 하위 문자열 쉼표 구문을 사용합니다.
암호:
# ruby
mainString = "Ruby"
endSub = mainString[1,3]
puts endSub
midSub = mainString[1,2]
puts midSub
출력:
또한 인덱싱 메서드 내에서 쉼표(,
)를 사용하여 새 하위 문자열에 대한 시작 및 종료 값을 제공하여 범위를 얻을 수 있습니다.
Ruby에서 하위 문자열 추출
문자열 중에서 특정 하위 문자열을 찾아 사용자의 입력을 찾고 삭제하면 모든 악성 코드를 피할 수 있습니다. 하위 문자열은 다음과 같은 다양한 방법을 사용하여 찾을 수 있습니다.
- Ruby
include?()
메서드. - 정규식 방법.
- Ruby 문자열 요소 참조 [].
Ruby include?()
메소드
이 기본 제공 방법은 하위 문자열을 찾는 가장 쉬운 방법입니다.
사용자가 입력한 정보로 문자열을 사용하는 예를 들어보겠습니다. 콘텐츠에 스팸 요소가 포함되어 있는지 확인합니다.
# ruby
mainStr = 'User submitted this content. It is a spam'
if mainStr.include?("spam")
puts "Spam Content! Content Deleted"
else
puts "Content Saved"
end
출력:
기본 문자열에서 하위 문자열을 감지할 수 있지만 한 가지 기억해야 할 점은 대소문자를 구분하는 방법이라는 것입니다.
메서드의 반환 값은 각각 하위 문자열이 사용 가능한지 여부를 나타내는 부울 값(true
또는 false
)이므로; 따라서 우리는 if-else
문을 구현하여 그에 따라 행동합니다.
include?
사용의 단점 방법은 대소문자를 구분하며 스팸이 거짓
문을 반환할 수 있다는 것입니다. 전체 문자열을 대문자 또는 소문자로 변환한 다음 문자열 내에서 특정 하위 문자열을 찾는 것이 중요합니다.
대문자로 변환하는 방법은 다음과 같습니다.
암호:
# ruby
mainStr = 'User submitted this content. It is a SPAM!'
if mainStr.include?("spam".upcase)
puts "Spam Content! Content Deleted"
else
puts "Content Saved"
end
출력:
동일한 시나리오를 상상해 봅시다. 하지만 소문자를 사용해야 합니다.
암호:
# ruby
mainStr = 'User submitted this content. It is a SPAM!'
if mainStr.include?("spam".downcase)
puts "Spam Content! Content Deleted"
else
puts "Content Saved"
end
출력:
보시다시피, 제출된 데이터의 하위 문자열에서 스팸 또는 애플리케이션 내부에 저장하고 싶지 않은 다른 유형의 콘텐츠를 확인하여 하위 문자열을 사용하여 시스템 보안을 강화할 수 있습니다.
Ruby의 RegEx 메서드
Ruby는 문자열 내에서 특정 하위 문자열을 찾을 수 없는 경우 이 방법을 사용하여 nil
을 반환합니다. 이 방법에서는 문자열이 지정된 정규식 패턴 스팸
인지 확인하기 위해 간단한 정규식을 사용합니다.
암호:
# ruby
mainStr = 'User submitted this content. It is a spam!'
puts mainStr =~ /spam
출력:
또한 RegEx 메서드를 사용하여 문자열에서 필요한 부분 문자열을 찾고 문자열 내에서 부분 문자열의 위치를 반환할 수 있습니다. 하위 문자열을 찾을 수 없으면 nil
을 반환합니다.
문자열 요소 참조 []
Ruby의 메소드
Ruby 문자열 참조 방법은 한 쌍의 대괄호 안에 문자열, 인덱스 값 또는 정규식을 전달합니다.
암호:
# ruby
mainStr = 'spam'
puts mainStr['spam']
puts mainStr['[not-spam]']
출력:
검사 하위 문자열이 기본 문자열 안에 있으면 원래 문자열을 반환하고, 하위 문자열이 기본 문자열 안에 없으면 nil
을 반환합니다.
정규식의 경우:
# ruby
mainStr = 'spam'
puts mainStr[/spam/]
출력:
Ruby에서 하위 문자열 제거 또는 교체
기본 문자열에서 특정 하위 문자열을 교체하거나 제거해야 하는 경우 간단한 할당 방법을 사용할 수 있습니다. 인덱스 방법을 사용하여 값을 변경할 수 있습니다.
암호:
# ruby
mainStr="Hello World!"
mainStr[0..4] = "Bye"
puts mainStr
출력:
인덱싱 방법을 사용하여 문자열의 일부에 값을 할당하기만 하면 기본 문자열의 특정 부분을 교체하거나 제거할 수 있습니다.