본문으로 건너뛰기

텍스트

연결하려면 양쪽 모두 Text여야 합니다​

+는 두 Text를 연결합니다. "Count: " + 5는 "Count: 5"가 아닙니다. 혼합 형식의 대체 결과인 Integer 0입니다. 숫자, Bool, 핸들은 먼저 StringFormat으로 Text로 바꾸십시오.

StringFormat(format, value0, value1)​

  • 모든 {0}을 value0으로, 모든 {1}을 value1로 바꿉니다. 두 값 모두 어떤 형식이든 될 수 있습니다. {2}나 {0:N2} 같은 서식 지정자는 없습니다.
  • 항상 인수 세 개를 받습니다. 사용하지 않는 값에는 ""를 전달하십시오: StringFormat("{0} items", n, "").
  • 값이 둘보다 많으면 호출을 중첩하거나 결과를 연결하십시오(아래 예제 참조).
  • Real은 항상 소수 여섯 자리로 표시됩니다(0.500000). 정수로 표시하려면 먼저 Integer로 반올림하고, 고정 소수점으로 출력하려면 배율을 적용하십시오(MathRound(r * 100)).
  • {0}이 {1}보다 먼저 바뀌므로, value0의 텍스트에 {1}이 들어 있으면 그것도 바뀝니다.
w = WindowGetActive();
s = StringFormat(StringFormat("{0} x {1} at ", WindowGetWidth(w), WindowGetHeight(w)) + "({0}, {1})",
WindowGetX(w), WindowGetY(w));
UtilityPrint(s); // 예: 1280 x 720 at (100, 80)

길이 측정, 검색, 자르기​

  • StringGetLength는 문자가 아니라 UTF-16 코드 단위를 셉니다. 기본 다국어 평면(BMP) 밖의 이모지는 2로 셉니다.
  • StringGetIndexOf(text, search)는 0부터 시작하는 인덱스를 반환하며, search를 찾지 못하면 -1을 반환합니다. 대/소문자를 구분하며, "마지막 인덱스" 함수는 없습니다 (루프로 검색).
  • StringGetSubstring(text, start, length): start는 0부터 시작합니다. 끝을 넘어가는 length는 잘리고, 끝 이상인 start는 ""를 반환합니다. 음수인 start나 length는 오류이며 작업을 중지합니다.
  • 인덱싱 구문(s[0])은 없습니다. 문자 하나는 StringGetSubstring(s, i, 1)을 사용하십시오.
  • StringContains, StringStartsWith, StringEndsWith, StringReplace는 정확히 일치해야 하며 대/소문자를 구분합니다. 대/소문자를 구분하지 않고 검사하려면 먼저 양쪽을 소문자로 바꾸십시오.
  • StringToUpper/StringToLower는 사용자 로캘의 대/소문자 규칙을 따르므로 터키어의 점 있는 i와 점 없는 ı도 올바르게 처리됩니다.
  • StringTrim은 양쪽 끝의 공백을 제거하며, Windows \r\n 줄 끝에서 남은 \r도 제거합니다.
  • StringReplace와 StringSplit은 검색 텍스트나 구분 기호가 비어 있으면 작업을 중지합니다.

분할 결과는 인덱스로 읽는 캐시입니다​

값 하나에 목록을 담을 수 없으므로, StringSplit(text, delimiter)는 부분들을 실행 중인 스크립트의 컨텍스트에 저장하고 그 개수를 반환합니다. 각 부분은 StringGetSplitPartAt(i)로 읽으며, 범위를 벗어난 인덱스는 ""를 반환합니다. 같은 스크립트에서 다음 StringSplit을 호출하면 이 캐시가 대체되므로, 다른 것을 분할하기 전에 필요한 부분을 변수에 복사하십시오. 모든 …EnumerateAll, …FindAll…, …GetAll… 기본 제공 함수도 짝을 이루는 …EnumeratedAt 판독 함수와 함께 같은 방식으로 동작합니다.

텍스트 비교​

==는 정확히 일치해야 하며 대/소문자를 구분합니다. </>는 UTF-16 코드 단위로 서수 비교하며, 이는 사전 순서가 아닙니다. 모든 ASCII 대문자가 모든 소문자보다 앞에 오고, 악센트가 있는 문자는 z 뒤에 옵니다. 이 순서를 사용자에게 사전순인 것처럼 보여 주지 마십시오.