it-swarm.dev

루아의 문자열에서 일치하는 텍스트가 있는지 확인하는 방법은 무엇입니까?

일치하는 특정 텍스트가 텍스트 문자열에서 적어도 한 번 발견되면 조건부로 만들어야합니다 (예 :

str = "This is some text containing the Word tiger."
if string.match(str, "tiger") then
    print ("The Word tiger was found.")
else
    print ("The Word tiger was not found.")

문자열 어딘가에 텍스트가 있는지 어떻게 확인합니까?

38
Village

string.match 또는 string.find 중 하나를 사용할 수 있습니다. 나는 개인적으로 string.find() 나 자신을 사용합니다. 또한 if-else 문의 end를 지정해야합니다. 따라서 실제 코드는 다음과 같습니다.

str = "This is some text containing the Word tiger."
if string.match(str, "tiger") then
  print ("The Word tiger was found.")
else
  print ("The Word tiger was not found.")
end

또는

str = "This is some text containing the Word tiger."
if string.find(str, "tiger") then
  print ("The Word tiger was found.")
else
  print ("The Word tiger was not found.")
end

특수 문자 (예 : .()[]+- 등)와 일치 시키려면 % 문자를 사용하여 패턴에서 이스케이프해야합니다. 따라서, 예를 들어 일치시킨다. tiger(, 전화는 다음과 같습니다.

str:find "tiger%("

패턴에 대한 자세한 내용은 Lua-Users wiki 또는 SO의 문서 섹션.

64
hjpotter92