大部分の文字関数においては、引数や戻り値は文字列です(一部、数値であるものもあります)。引数に文字列定数を指定する場合、その文字列は引用符で囲む必要があります。
一部の関数については、『スクリプトガイド』の文字関数の使用で詳しく解説しています。
BLOB To Char(blob, <encoding>)
説明
指定のエンコーディングを使って、BLOBから文字列を作成する。
戻り値
文字列
引数
blob
(binary large object)
encoding
(オプション)エンコーディングを指定する引用符付き文字列。文字列のデフォルトのエンコーディングはutf-8です。また、utf-16le、utf-16be、us-ascii、iso-8859-1、ascii~hex、shift-jis、euc-jpもサポートされています。
メモ
エンコーディングのオプションのうち、US-ASCIIは、CR、LF、TABなどが含まれるBLOBデータを、特別な考慮をせずに、ASCII文字の文字列に単純に変換します。
BLOB To Matrix(blob, type, bytes, endian, <nCols>)
説明
blobのバイトを数値に変換して行列を作成する。
戻り値
BLOBを数値に変換した行列
引数
blob
BLOBまたはBLOBへの参照。
type
数値のデータ型を示す引用符付き文字列。"int"、"uint"、"float"のいずれか。
bytes
BLOB内のデータのサイズをバイトで示したもの。1、2、4、8のいずれか。
endian
エンディアンを表す引数。最初のバイトが最上位、最下位のいずれであるかを示す引用符付き文字列。指定できるパラメータは次のとおりです。
– "big"は、最初のバイトが最上位であることを示します(ビッグエンディアン)。
– "little"は、最初のバイトが最下位であることを示します(リトルエンディアン)。
– "native"は、コンピュータのネイティブ形式を使用します。
<nCols>
行列の列数。デフォルト値は1です。
Char(x, <width>, <decimal>, < <<Use Locale(Boolean)>)
説明
式または数値を文字列に変換する。
戻り値
文字列
引数
x
式または数値。式はExpr()で囲む必要があります。囲まない場合、その評価結果が文字列に変換されます。
width
(オプション)文字列の最大文字数を設定する数値。
decimal
(オプション)文字列に含まれる、小数点以下の最大桁数を設定する数値。
Use Locale(Boolean)
(オプション)ロケール固有の数値形式を維持する引数。
ノート
引数widthが引数decimalより優先されます。
例
Char( Pi(), 10, 4)
"3.1416"
Char( Pi(), 3, 4)
"3.1"
Char To BLOB("string", <"encoding">)
説明
文字列を、バイナリデータ(BLOB)に変換する。
戻り値
BLOBオブジェクト
引数
string
引用符付き文字列、または文字列変数。
encoding
(オプション)エンコーディングを指定する引用符付き文字列。blobのデフォルトのエンコーディングはutf-8です。また、utf-16le、utf-16be、us-ascii、iso-8859-1、ascii~hex、shift-jis、euc-jpもサポートされています。
メモ
BLOBを印字可能な形式に変換する際、\(および~ " !と、ASCIIの印字不能な範囲の文字)は、16進数表記に変換されます(バックスラッシュの場合は、~5C)。
x = Char To BLOB( "abc\def\!n" );
y = BLOB To Char( x, encoding = "ASCII~HEX" );
If(
y == "abc~5Cdef~0A", "JMP 12.2以降のバージョンの動作",
y == "abc\def~0A", "JMP 12.2より前のバージョンの動作"
);
"JMP 12.2以降のバージョンの動作" // 出力
Char To Hex(value, <"integer"|encoding="enc">)
Hex(value, <"integer"|encoding="enc"|Base(num)|Pad To(number)>)
説明
指定のvalue(数値、文字列、blob)とencodingに対応する16進数(または他の数表現)のテキストを戻す。valueが数値の場合は、integerまたはbaseが指定されていない限り、IEEE 754の64ビット形式が使用されます。
引数
value
任意の数値、引用符付き文字列、またはBLOB。
integer
(オプション)valueが数値の場合、浮動小数点ではなく整数としての16進数を戻す。
encoding
(オプション)エンコーディングを指定する引用符付き文字列。デフォルトのエンコーディングはutf-8です。また、utf-16le、utf-16be、us-ascii、iso-8859-1、ascii~hex、shift-jis、euc-jpもサポートされています。
base(number)
(オプション)2~36の整数値。底が指定されている場合は、指定の数値が、16進数ではなくその底を使った数表現に対応するテキストで戻されます。
pad to(number)
(オプション)16進数の出力の末尾に追加する桁数を指定する。
Collapse Whitespace("text")
説明
先頭および末尾の空白文字を削除し、文字列内で空白文字が連続している部分は重複を削除する。つまり、Collapse Whitespace関数で2つの連続したスペースを1つのスペースに置換できます。
戻り値
引用符付き文字列
引数
text
引用符付き文字列。
Concat(a, b)
Concat(A, B)
a||b
A||B
説明
文字列の場合:文字列bを文字列aに追加する。どちらの引数も変更されません。
リストの場合:リストbをリストaに追加する。どちらの引数も変更されません。
行列の場合:行列Aと行列Bを横に連結する。
戻り値
文字列の場合:文字列aの後に文字列bを追加した文字列
リストの場合:リストaの後にリストbを追加したリスト
行列の場合: 行列
引数
2つ以上の文字列、文字列変数、リスト、または行列。
ノート
3つ以上の引数を取ることができます。追加の文字列は、左から右の順番に文字列の最後に追加されます。行列の場合は、左から右の順番で、横に結合されていきます。
例
a = "こんにちは"; b = " "; c = "世界"; a || b || c;
"こんにちは 世界"
d = {"りんご", "バナナ"}; e = {"桃", "梨"}; Concat( d, e );
{"りんご", "バナナ", "桃", "梨"}
A = [1 2 3]; B = [4 5 6]; Concat( A, B );
[1 2 3 4 5 6]
Concat Items
Concat Items({string1, string2, ...}, <delimiter>})を参照してください。
Concat To(a, b)
Concat To(a, b)
a||=b
A||=B
説明
文字列の場合:文字列aに文字列bを追加して、新しくできた連結文字列をaに代入する。
行列の場合:行列aに行列bを追加して、新しくできた行列をaに代入する。
リストの場合:リストaにリストbを追加して、新しくできたリストをaに代入する。
戻り値
文字列の場合:文字列aの後に文字列bを追加した文字列
行列の場合: 行列
リストの場合:リストaの後にリストbを追加したリスト
引数
2つ以上の文字列、文字列変数、行列、またはリスト。第1引数には変数を指定しなければならない
ノート
3つ以上の引数を取ることができます。追加の文字列、行列、またはリストは、左から右の順番に文字列の最後に追加されます。
例
a = "こんにちは"; b = " "; c = "世界"; Concat To( a, b, c ); Show( a );
a = "こんにちは 世界";
A = [1 2 3]; B = [4 5 6]; Concat To( A, B ); Show( A );
A = [1 2 3 4 5 6];
d = {"りんご", "バナナ"}; e = {"桃", "梨"}; Concat to(d,e); Show( d );
d = {"りんご", "バナナ", "桃", "梨"};
Contains(whole, part, <start>)
説明
部分(part)が全体(whole)の中に含まれているかどうかを判断する。
戻り値
partが見つかったとき、リスト、文字列、および名前空間の場合はpartが最初に見つかった位置の数値を戻し、連想配列の場合は1を戻す。
partが見つからないときは、すべてのケースで0が戻されます。
引数
whole
文字列、リスト、名前空間、または連想配列。
part
文字列または名前空間の場合、文字列wholeの一部の文字列。リストの場合、リストwholeにある項目。連想配列の場合、マップwholeにあるキー。
start
(オプション)wholeの中の初期値を表す数値引数。なお、startが負の場合、Containsは、wholeの長さからstartを差し引いた位置から、whole内のpartを逆方向に検索します。連想配列の場合、startは意味がなく、無視されます。
例
nameList={"Katie", "Louise", "Jane", "Jaclyn"};
r = Contains(nameList, "Katie");
Contains Item(x, <item | {list} | pattern>, <delimiter>)
説明
多重応答を認識し、指定された項目、リスト、パターン、区切り文字を検索する。この関数は、多重応答の尺度または列プロパティを持つ列に対して使用できます。
戻り値
引数xのテキスト内にある単語のいずれかと、単語(item)、単語リスト(list)の中の1つ、またはパターン(pattern)がマッチするかどうかを、ブール値で戻す。テキスト内の単語は、オプションで指定された区切り文字(delimiter)で区切られます。デフォルトの区切り文字はカンマ(",")です。なお、テキスト(x)から抽出された各単語の末尾にある空白は削除されます。
例
次の例では、“pots”およびそれに続くカンマを検索して、結果を出力します。
x = "Franklin Garden Supply is a leading online store featuring garden decor, statues, pots, shovels, benches, and much more.";
b = Contains Item( x, "pots", "," );
If( b,
Write( "指定された項目が見つかりました。" ), Write( "一致しません。" )
);
指定された項目が見つかりました。
Ends With("string", substring)
説明
文字列(string)の最後に部分文字列(substring)があるかどうかを判断する。
戻り値
文字列(string)が部分文字列(substring)で終わっていれば1、そうでなければ0
引数
string
引用符付き文字列、または文字列変数。リストでも可。
substring
引用符付き文字列、または文字列変数。リストでも可。
等価表現
Right("string", Length(substring)) == substring
Hex(value, <"integer"|encoding="enc"|Base(number)|Pad To(number)>)
Char To Hex(value, <"integer"|encoding="enc">)を参照してください。
Hex To BLOB("string")
説明
16進数の文字列(string)(空白を含む)から、BLOB(binary large object)を作成する。
例
Hex To BLOB( "4A4D50" );
Char To BLOB("JMP", "ascii~hex")
Hex To Char("string", <encoding>)
説明
16進数の文字列(string)を、整数、もしくは、浮動小数点に変換します。
例
Hex To Char( "30" )の結果は“0”です。
メモ
文字列のデフォルトのエンコーディングはutf-8です。また、utf-16le、utf-16be、us-ascii、iso-8859-1、ascii~hex、shift-jis、euc-jpもサポートされています。
Hex To Number("string", <Base(number)>)
説明
16進数(または他の数表現)のテキストに対応する数値を戻す。
引数
string
引用符付きの16進数文字列。
base(number)
(オプション)2~36の整数値。baseが指定されている場合、テキストは、その底の数値を表す文字列とみなされます。
例
Hex To Number( "80" );
128
ノート
16進数は、整数、もしくは、IEEE 754の64ビット形式の浮動小数点数として、変換されます。それ以外の場合、入力値は16進数の整数として扱われます。
バイト間(つまり数字のペア)およびバイトの中央に空白文字が含まれていてもかまいません
(例:FF 1919、F F1919)。
Insert
Insert(source, item, <position>)を参照してください。
Insert Into
Insert Into(source, item, <position>)を参照してください。
Item(n|[first last], string, <delimiter>, <Unmatched(result string)>, <Include Boundary Delimiters(Boolean)>)
説明
引用符付き文字列delimitersに従って、stringのn番目の項目、または最初の項目から最後の項目までの幅を戻す。4番目の引数を含めた場合、その引数で指定したすべての文字が区切り文字とみなされます。
引数
n
抽出する単語の位置。
[first last]
戻す単語の範囲の始めと終わりを定義する行列。
string
評価する文字列。
delimiter
(オプション)区切りとして使用する文字。delimiterがない場合は、ASCIIスペースが区切り文字になります。delimiterを空白とした場合、一つの文字が一つの単語とみなされます。delimiterを空白とした場合、一つの文字が一つの単語とみなされます。
Unmatched(result string)
マッチするものがない場合に出力する文字列。
Include Boundary Delimiters(Boolean)
(オプション)戻される文字列に区切り文字を含める。
例
Item()では、連続する区切り文字の間に単語が挟まれているものとみなされます。この例では、区切り文字としてカンマとスペースを使用しています。
Item( 4,"the quick, brown fox", ", " ); // quickの前に2つのスペース
式は次のように処理されます。
the<delim[space]><word2><delim[space]>quick<delim[comma]><word 4><delim[space]>brown<delim[space]>fox
Word4が空白であるため、式は空白の文字列を戻します。
Item()は、区切り文字1つ1つが個別の区切り文字として使われる以外はWord()と同じ。Word()では、連続した複数の区切り文字が1つの区切り文字として扱われます。
Word( 4,"the quick, brown fox", ", " ); // quickの前に2つのスペース
式は次のように処理されます。
the<delim[2 spaces]>quick<delim[comma + space]>brown<delim[space]>fox
式は、"fox"を戻します。
Left("string", n, <filler>)
Left({list}, n, <filler>)
説明
元の文字列(string)から、右からn文字の文字列を取り出す。もしくは、元のリスト(list)から、最初のn個のリスト項目を取り出す。文字列(string)の長さがn個よりも短い場合は、fillerに指定された文字列が右側に補充されます。
Length("string")
説明
指定した文字列(文字数)、リスト(項目数)、連想配列(キー数)、BLOB(バイト数)、行列(要素数)、名前空間(関数と変数の数)、クラス(メソッド、関数、変数の数)の長さを戻す。
Lowercase("string")
説明
引用符付き文字列(string)内に現れる文字をすべて小文字に変換する。
Matrix to BLOB(matrix, type, bytesEach, endian)
説明
行列の要素を1バイト、2バイト、4バイトの符号付整数または符号なしの整数、4バイトまたは8バイトの浮動小数点数に変換することで、行列からBLOBを作成する。
引数
matrix
行列
type
BLOBの種類: int、uint、float。
bytesEach
int、uint、floatでのバイト数。整数(int)はそれぞれ1、2、または4バイト、浮動小数点(float)はそれぞれ4または8バイトになります。
endian
システムのエンディアン性: ビッグ(最初のバイトが最も重要な場合)、リトル(最初のバイトが最も重要でない場合)、ネイティブ(コンピュータのネイティブ形式)。
Munger("string", offset, find|length)
Munger("string", offset, find, replace)
説明
引用符付き文字列(string)に文字を挿入したり、削除したりして、新しい文字列を作る。また、引数の指定方法により、文字列の一部を取り出す、また、ある文字列が何文字目に含まれているかを計算する、といった処理を実行できます。
offsetは、string内での検索開始位置を示す整数です。なお、ある検索文字列において、その先頭位置よりoffsetが大きい場合、その検索文字列は検索に含まれません。また、offsetがstringの長さより大きい場合、offsetは、(stringの長さ+1)に設定されます。
Num("string")
説明
文字列を数値に変換する。
Regex("source", "pattern", (<replacementString>, <GLOBALREPLACE>), <format>, <IGNORECASE>)
説明
ソース文字列(source)内でパターン(pattern)を検索する。
戻り値
一致するテキストを文字列または数値で戻す。一致するテキストが見つからない場合は欠測値を戻します。
引数
source
引用符付き文字列。
pattern
引用符付き正規表現。
format
(オプション)一致したグループへの前方参照。デフォルトは、一致した文字列全体である\0。\nはn番目にマッチしたものを戻します。
IGNORECASE
(オプション)IGNORECASEを指定しない場合、大文字と小文字が区別される。
GLOBALREPLACE
(オプション)置換文字列。一致したものがすべて見つかるまで、ソース文字列(source)に正規表現を適用します。
Remove
Remove(source, position, <n>)を参照してください。
Remove From
Remove From(source, position, <n>)を参照してください。
Repeat(source, a)
Repeat(matrix, a, b)
説明
sourceを、a回、繰り返して連結した結果を戻す。または、matrixをa回だけ縦に結合し、それをb回だけ横に結合した行列を戻します。sourceはテキスト、またはリスト、matrixは行列です。
Reverse
Reverse(source)を参照してください。
Reverse Into
Reverse Into(source)を参照してください。
Right("string", n, <Filler>)
Right({list}, n, <Filler>)
説明
元の文字列(string)から、右からn文字の文字列を取り出す。もしくは、元のリスト(list)から、最後のn個のリスト項目を取り出す。文字列(string)の長さがn個よりも短い場合は、fillerに指定された文字列が左側に補充されます。
Shift
Shift(source, <n>)を参照してください。
Shift Into
Shift Into(source, <n>)を参照してください。
Starts With("string", "substring")
説明
文字列(string)の冒頭に部分文字列(substring)があるかどうかを判断する。
戻り値
文字列(string)が部分文字列(substring)で始まっていれば1、そうでなければ0
引数
string
引用符付き文字列または文字列変数。リストでも可。
substring
引用符付き文字列または文字列変数。リストでも可。
等価表現
Left("string", Length("substring")) = = "substring"
Substitute
Substitute("string", "substring", "replacementString", ...)を参照してください。
Substitute Into
Substitute Into("string", substring, replacementString, ...)を参照してください。
Substr("string", start, length)
説明
第2引数(start)で指定した位置から第3引数(length)で指定した文字数の文字を、第1引数(string)の文字列から抽出する。第1引数には、文字列を指定してください。開始位置と文字数の引数は、整数です。
例
この例では、ファーストネームを抽出します。
Substr( "Katie Layman", 1, 5 );
1文字目から5文字を読み取り、残りの文字を無視して「Katie」を戻します。
Text Score(text column, text-to-number, <weighting>, <{support vectors}>, <text explorer setup>)
説明
テキストエクスプローラでスコア計算の式を作成するのに使用。[同じ互換の単語]オプションで使用することはできません。
戻り値
スコアのベクトルを戻す。
引数
text column
データテーブル列。
text-to-number
小文字の単語を数値にマッピングする連想配列。
weighting
"Binary"、"Ternary"、"Count"、"LogCount"、"LCA"、またはTFLogIDFの文書度数の逆数の配列。デフォルトの値は"Count"です。
support vectors
テキストのスコアリングに使用されるベクトルのリスト。ベクトルの数と長さは、weighting引数に依存します。
text explorer setup
テキストエクスプローラの設定情報のブロックを含む式。
Titlecase("text")
説明
文字列をタイトルケースに変換する。つまり、文字列内の各単語の先頭を大文字にし、残りを小文字にします。
戻り値
引用符付き文字列。
引数
text
引用符付き文字列。
例
次のスクリプトを実行すると、
Titlecase( "veronica layman ")
下記の文字列が戻されます。
"Veronica Layman"
Trim("text",<left|right|both>)
Trim Whitespace("text",<left|right|both>)
説明
最初および最後のスペースを削除する。
戻り値
引用符付き文字列
引数
text
引用符付き文字列。
left|right|both
(オプション)第2引数は、空白文字を文字列の左側(left)、右側(right)、または両側(both)のどちらから削除するかを指定します。第2引数が指定されない場合、両側から空白文字が削除されます。
例
次のコマンドを見てみましょう。
Trim( " John ", both )
下記の文字列が戻されます。
"John"
Uppercase("string")
説明
引用符付き文字列(string)内に現れる小文字をすべて大文字に変換する。
Word(n|[first last], string, <delimiter>, <Unmatched(result string)>)
説明
文字列のn番目の項目を戻す。ここで、delimiter引数にある文字が区切り文字となり、任意の数の区切り文字で区切られた部分文字列が単語として扱われます。
引数
n
抽出する単語の位置。
[first last]
戻す単語の範囲の始めと終わりを定義する行列。
string
評価する文字列。
delimiter
(オプション)区切りとして使用する文字。delimiterがない場合は、ASCIIスペースが区切り文字になります。delimiterを空白とした場合、一つの文字が一つの単語とみなされます。delimiterを空白とした場合、一つの文字が一つの単語とみなされます。
Unmatched(result string)
マッチするものがない場合に出力する文字列。
例
この例では、ラストネームを戻します。
Word( 2, "Katie Layman" );
ノート
Word()とItem()の違いを示す例については、Item(n|[first last], string, <delimiter>, <Unmatched(result string)>, <Include Boundary Delimiters(Boolean)>)を参照してください。
Words
Words("string", <delimiter>)を参照してください。
XPath Query( xml, "xpath_expression")
説明
戻り値
リスト
引数
xml
有効なXMLドキュメント。
xpath_expression
引用符付きXPath 1.0式。
例
JMPで検定結果のレポートを作成し、重要な詳細をXMLドキュメントに書き出したとしましょう。検定の結果は<result>タグに挟まれています。
次の式は、そのXMLドキュメントを変数内に保存します。XPath Query式は、XMLを解析して<result>に挟まれたテキストノードを見つけます。結果はリストで戻されます。
rpt =
"\[<?xml version="1.0" encoding="utf-8"?>
<JMP><report><title>Production Report</title>
<result>November 21st:Pass</result>
<result>November 22nd:Fail</result>
<note>Tests ran at 3:00 a.m.</note></report>
</JMP> ]\";
results = XPath Query( rpt, "//result/text()" );
{"November 21st:Pass", "November 22nd:Fail"}