JMP 계산식 편집기에서 문자 인수를 받거나 문자열을 반환하고, 값의 데이터 유형을 숫자에서 문자로 변환하거나, 문자에서 숫자로 변환하는 계산식을 생성할 수 있습니다. 이러한 계산식을 생성할 경우 다음 사항에 유의하십시오.
• 문자 함수의 결과는 문자 또는 숫자 데이터일 수 있습니다. 지정된 것과 다른 데이터 유형을 계산할 경우 계산된 열의 데이터 유형이 결과와 매칭되도록 자동으로 변경됩니다.
• 리터럴 문자열 인수는 인용 부호로 묶어야 합니다.
구문에 대한 자세한 내용은 Scripting Guide의 “Character Functions”에서 확인하십시오.
숫자 인수의 소수 자릿수와 일치하는 문자열을 생성합니다. 예를 들어 Char(1.123)의 결과는 1.123이 됩니다. 자세한 내용은 Scripting Guide의 “Numbers and Strings”에서 확인하십시오.
선행 및 후행 공백을 제거하고 중간에 있는 공백을 단일 공백으로 바꿉니다. 즉, 공백 문자가 둘 이상 있는 경우 Collapse Whitespace 명령을 사용하면 두 개의 공백이 한 개의 공백으로 바뀝니다.
문자열을 연결하여 함수의 첫 번째 문자 인수에 두 번째 문자 인수가 추가된 새 문자열을 생성합니다. 예를 들어 "Dr." || " " || name은 직함 Dr. 다음에 공백과 name 문자열의 내용을 포함하는 새 문자열을 생성합니다.
첫 번째 인수 내에 두 번째 인수가 있는 경우 이 인수의 첫 번째 인스턴스가 나타나는 숫자 위치를 반환합니다. 두 번째 인수에는 하나 이상의 문자가 포함될 수 있습니다. 두 번째 인수가 나타나지 않는 경우 Contains는 0을 반환합니다. 예를 들어 Contains("Veronica Layman", "ron")의 결과는 3이 됩니다. Contains("Lillie Layman", "L")의 결과는 1이 됩니다. Contains("Lillie Layman", "Veronica")의 결과는 0이 됩니다. 세 번째 인수인 offset은 선택 사항입니다. 오프셋은 검색 시작 위치를 지정하는 숫자 값입니다. Contains("Lillie Layman", "L", 5)의 결과는 검색이 5번째 위치에서 시작하기 때문에 8이 되고, 첫 번째 "L"은 건너뜁니다. offset이 음수이면 Contains는 문자열 끝에서 offset만큼 이동한 위치부터 역방향으로 검색합니다.
문자를 삽입하거나 삭제하는 방법으로 기존 문자열에서 새 문자열을 생성합니다. 인수를 지정하는 방식에 따라 하위 문자열을 생성하거나, 인덱스를 계산하거나, 그 밖의 작업을 수행할 수도 있습니다. Munger 함수는 대문자와 소문자를 서로 다른 문자로 간주합니다.
Text는 문자 표현식입니다. Munger는 다른 세 개의 인수를 이 문자열에 적용하여 결과를 계산합니다.
Offset은 문자열 내의 검색 시작 위치를 나타내는 숫자 표현식입니다. Offset이 Find 인수의 첫 번째 인스턴스가 나타나는 위치보다 크면 첫 번째 인스턴스는 무시됩니다.
Find/Length는 문자 또는 숫자 표현식입니다. 문자열을 검색 기준으로 사용할 수도 있고, 양의 정수를 사용하여 Offset 위치에서부터 해당 수만큼의 연속된 문자를 반환할 수도 있습니다. Length 값으로 음의 정수를 지정하면 Munger는 Offset부터 문자열 끝까지의 모든 문자를 반환합니다.
Replace(선택적 인수)는 문자열이거나 지정되지 않을 수 있습니다. 이 인수가 문자열이고 Find/Offset 값이 숫자이면 Munger는 검색 기준을 Replace 문자열로 바꿔 결과를 생성합니다. Find/Offset 값이 숫자이고 문자열이 지정되지 않은 경우 Munger는 하위 문자열을 산출합니다. Find/Length 값이 문자열이면 Munger는 Replace 값이 있더라도 이를 무시하고 항상 숫자 오프셋을 반환합니다. Replace 인수를 삽입하려면 Munger 함수에서 아무 인수나 클릭한 후 삽입 버튼을 클릭하십시오. Replace 인수를 제거하려면 Delete 키를 누르거나 계산식 편집기 키패드의 삭제 버튼(
)을 클릭합니다.
Lowercase 함수는 인수에 있는 대문자를 동등한 소문자로 변환합니다. 예를 들어 Lowercase("VERONICA LAYMAN")의 결과는 "veronica layman"이 됩니다. Uppercase 함수는 인수에 있는 소문자를 동등한 대문자로 변환합니다. 예를 들어 Uppercase("Veronica Layman")의 결과는 "VERONICA LAYMAN"이 됩니다.
인수의 길이를 계산합니다. 예를 들어 Length("Veronica")의 결과는 8이 됩니다. 인수에 따라 결과는 다음과 같이 달라집니다.
• 인수가 문자열이면 문자의 개수가 반환됩니다.
• 인수가 목록이면 목록에 있는 항목의 개수가 반환됩니다.
• 인수가 BLOB(이진 개체)이면 바이트 수가 반환됩니다.
문자열 인수가 숫자로만 구성된 경우 해당 문자열에 대응하는 숫자 값을 생성합니다. 문자열에 숫자가 아닌 값이 포함되어 있는 경우 결과는 결측값입니다. 예를 들어 Num("1.123")의 결과는 1.123이 됩니다.
첫 번째 인수의 일부 문자를 추출합니다. 두 번째 인수로 지정된 위치에서 시작되며, 끝 위치는 세 번째 인수로 지정된 문자 수에 따라 결정됩니다. 첫 번째 인수는 문자 열이거나 리터럴 값일 수 있습니다. 시작 인수와 길이 인수는 숫자이거나 결과가 숫자가 되는 표현식일 수 있습니다. 예를 들어 Substr("Veronica Layman", 10, 6)은 전체 이름 중 이름만 표시하기 위해 위치 10에서부터 위치 15까지 읽어 Layman을 산출합니다.
start가 음수인 경우 Substr은 문자열의 끝에서 start만큼 이동한 위치부터 역방향으로 검색합니다. length가 음수이거나 지정되지 않은 경우 Substr은 start 위치에서 시작하여 텍스트 문자열의 끝까지 포함하는 문자열을 반환합니다.
Substr은 목록과 함께 사용할 수도 있습니다.
문자열을 첫 글자가 대문자인 형식, 즉 첫 번째 문자는 대문자이고 이후 문자는 소문자인 형식으로 변환합니다. 예를 들어 Titlecase("Veronica layman")은 Veronica Layman을 반환합니다.
인수에서 선택 및 후행 공백을 제거하여 새 문자열을 생성합니다. 두 번째 인수는 문자열의 왼쪽, 오른쪽 또는 양쪽 중 어디에서 공백을 제거할지 결정합니다. 두 번째 인수가 사용되지 않은 경우에는 양쪽에서 공백이 제거됩니다. 예를 들어 Trim("john ")의 결과는 john이 됩니다. 또한 Trim(" john ", both)의 결과도 john이 됩니다.
문자열에서 n번째 단어를 추출합니다. 선택적인 delimiters 인수가 지정되지 않은 경우 하나 이상의 공백으로 각 단어의 시작 및 끝 위치가 정의됩니다. 예를 들어 Word(2, "Veronica Layman")은 단어 Layman을 반환합니다.
delimiters 인수를 삽입하려면 Word 함수의 아무 인수나 클릭한 후 계산식 편집기 키패드의 삽입 버튼
을 클릭하십시오. delimiters 인수를 제거하려면 Delete 키를 누르거나 계산식 편집기 키패드의 삭제 버튼(
)을 클릭합니다. 구분자를 지정하지 않으면 공백이 구분자로 사용됩니다. 구분자를 빈 문자열로 정의하면 각 문자가 개별 단어로 간주됩니다.
대부분의 특수 문자는 단일 구분자 역할을 합니다. 임의의 문자 또는 문자 집합을 입력하여 단어 구분자 역할을 하도록 할 수 있습니다. 예를 들어 다음 예에서는 전체 이름 중 성을 추출하기 위해 쉼표와 공백을 구분 문자로 사용하고 첫 번째 단어를 요청합니다. Word(1, "Layman, Veronica", ", ")는 단어 Layman을 반환합니다.
선택적인 두 번째 인수에 나열된 구분자에 따라 text의 단어들을 추출합니다. 기본 구분자는 공백입니다. 예를 들어 Words("the quick brown fox")는 {"the","quick","brown","fox"}를 반환합니다.
두 번째 인수를 포함하면 해당 인수의 모든 문자가 구분자로 간주됩니다. 예를 들어 Words("Doe, Jane P.",", .")는 {"Doe","Jane","P"}를 반환합니다.
delimiters 인수를 삽입하려면 Words 함수의 아무 인수나 클릭한 후 계산식 편집기 키패드의 삽입 버튼
을 클릭하십시오. delimiters 인수를 제거하려면 Delete 키를 누르거나 계산식 편집기 키패드의 삭제 버튼(
)을 클릭합니다. 구분자를 지정하지 않으면 공백이 구분자로 사용됩니다. 구분자를 빈 문자열로 정의하면 각 문자가 개별 단어로 간주됩니다.
text로 지정된 문자열 중 맨 왼쪽 또는 맨 오른쪽 n개의 문자로 구성된 하위 문자열을 반환합니다. 두 함수 모두 목록과 함께 사용할 수 있습니다.
각각 whole이 part로 시작하거나 끝나면 1을 반환합니다. 그렇지 않으면 0을 반환합니다. 두 함수 모두 목록과 함께 사용할 수 있습니다.
Word 함수와 유사하지만 단어 구분자의 처리 방식이 다릅니다. 한 구분자가 여러 번 발견되거나 여러 문자로 된 구분자가 입력된 경우 Word 함수는 이를 단일 문자로 처리합니다. Item 함수는 각 구분자를 사용하여 새 단어 위치를 정의합니다. 비교를 위해 "성, 이름" 형식으로 된 이름을 예로 들자면, 구분자는 쉼표와 그 다음의 공백이므로 함수를 다음과 같이 지정할 수 있습니다.
Item(2, "Layman, Veronica", ", ")
Word(2, "Layman, Veronica", ", ")
Item 함수의 경우 쉼표와 공백을 별개로 처리하는데 그 사이에 아무것도 없으므로 결측값이 반환됩니다. Word 함수는 쉼표와 공백을 단일 구분자로 처리하므로 두 번째 단어로 Veronica를 찾습니다.
구분자를 지정하지 않으면 공백이 구분자로 사용됩니다. 구분자를 빈 문자열로 정의하면 각 문자가 개별 항목으로 간주됩니다.
16진수와 숫자 사이에서 변환합니다.
Hex는 인수의 16진수 표현을 반환합니다. 인수가 문자(따옴표로 묶임)이면 결과는 해당 문자 값의 16진수 코드를 포함하는 두 배 길이의 문자열입니다. 예를 들어 Hex("A")는 문자열 "41"을 반환합니다.
인수가 숫자이고 "integer"가 지정된 경우 Hex 함수는 반환된 정수의 8자리 16진수 문자 표현을 반환합니다. 예를 들어 Hex(12, "integer")는 문자열 0000000C를 반환합니다.
Hex to Number는 16진수를 숫자로 변환합니다.
자세한 내용은 Scripting Guide의 “Hexadecimal and BLOB Functions”에서 확인하십시오.
첫 번째 인수가 두 번째 인수로 지정된 횟수만큼 반복된 문자열을 생성합니다. 첫 번째 인수는 문자 리터럴, 문자 변수 또는 문자 표현식일 수 있습니다. 예를 들어 Repeat("Katie", 3)는 KatieKatieKatie를 생성합니다.
세 번째 인수는 Repeat가 JSL 스크립트에서 행렬을 반복하는 데 사용될 때 적용됩니다. 첫 번째 인수가 행렬인 경우 두 번째 인수는 행별 반복이고 세 번째 인수는 열별 반복입니다.
Insert는 list 또는 expression의 지정된 위치에 새 항목을 삽입합니다. 위치가 지정되지 않은 경우에는 맨 끝에 새 항목이 삽입됩니다.
Reverse는 문자열의 문자를 역순으로 정렬합니다.
첫 번째 인수는 문자열이고, 두 번째 인수는 패턴이며, 세 번째 인수는 대체 문자열입니다. Substitute는 지정된 문자열의 패턴과 매칭되는 모든 부분을 찾아 대체 문자열로 바꿉니다.
첫 번째 인수는 Regex가 패턴과 매칭되는 부분을 검색할 소스 문자열입니다. 두 번째 인수는 정규 표현식 형식의 패턴입니다. 계산식 편집기에서는 이 두 개의 필수 인수를 입력하라는 메시지가 표시됩니다.
팁: 정규 표현식 사용 방법에 대한 자세한 내용은 인터넷에서 정규 표현식 자습서를 검색하여 확인하십시오.
기본적으로 Regex는 대/소문자가 구분되는 검색을 수행하여 소스 문자열에서 지정된 패턴과 매칭되는 부분을 반환합니다. 매칭되는 부분이 없으면 결측값을 반환합니다. 두 개의 선택적 인수를 추가할 수 있습니다. 세 번째 인수로는 반환할 문자열을 지정하는 format을 입력할 수 있습니다. 선택한 경우 정규 표현식을 사용하여 반환되는 문자열 내의 대체 텍스트를 지정할 수 있습니다. 세 번째 인수를 지정할 경우, Regex가 소스 문자열에서 매칭되는 부분을 검색할 때 대/소문자를 무시하도록 IGNORECASE도 지정할 수 있습니다.
|
Regex 함수 샘플 |
반환되는 문자열 |
|---|---|
|
Regex( "@ q3 #", "([a-z])([0-9])" ) |
q3 이 함수는 대/소문자를 구분하므로 q3는 매칭되지만 Q3는 매칭되지 않습니다. |
|
Regex( "@ Q3 #", "([a-z])([0-9])", "\0",IGNORECASE) |
Q3 \0은 기본 인수이지만 이 예에서는 IGNORECASE를 지정하기 위해 필요합니다. |
|
Regex( "@ Q3 #", "([a-z])([0-9])", "\2\1",IGNORECASE) |
3Q |
자세한 내용과 실행 가능한 예제를 보려면 도움말 > 스크립트 인덱스를 선택하고 Regex를 검색하십시오.