StringExpression

s1~~s2~~ またはStringExpression[s1,s2,]

文字列と記号列のオブジェクト siを表す.

詳細

  • "str1"~~"str2"~~は,"stri"中の文字を繋げて得られた通常の文字列を返す.
  • StringExpressionでは,以下のオブジェクトを使うことができる.
  • "string"文字列
    _単一の文字
    __1つまたは複数の文字の入った部分文字列
    ___文字が入ったまたは入らない部分文字列
    x_, x__, x___ x という名の部分文字列
    x:patternx という名のパターン
    pattern..1回あるいは複数回繰り返されたパターン
    pattern...繰り返されたあるいは繰り返されなかったパターン
    {patt1,patt2,} または patt1|patt2|pattiの少なくとも1つにマッチするパターン
    AnyOrder[patt1, patt2, ]任意の順序ですべての pattiにマッチするパターン
    FixedOrder[patt1, patt2, ]連結した pattiにマッチするパターン
    patt/;condcond を評価するとTrueになるパターン
    pattern?test各文字について testTrueを返すパターン
    Whitespace空白類文字の文字列
    NumberString数の文字
    DatePattern[spec]日付の文字列
    charobj文字のクラスを表すオブジェクト(以下参照)
    RegularExpression["regexp"]正規表現にマッチする部分文字列
    StringExpression[]任意の文字列式
  • 以下は文字クラスを表す.
  • {c1,c2,}"ci"のいずれか
    Characters["c1c2"]"ci"のいずれか
    CharacterRange["c1","c2"]"c1" から"c2" の範囲の文字
    HexadecimalCharacter16進数字 0-9, a-f, A-F
    DigitCharacter0から9までの数字
    LetterCharacter文字
    WhitespaceCharacterスペース,改行,タブ,その他の空白類文字
    WordCharacter文字または数字
    Except[p]p に一致するもの以外の任意の文字
  • 以下は文字列内の位置を表す.
  • StartOfString文字列全体の先頭
    EndOfString文字列全体の末尾
    StartOfLine行頭
    EndOfLine行末
    WordBoundary文字記号とその他の境界
    Except[WordBoundary]文字の境界以外の任意の場所
  • __..のような構造があると,StringExpressionが特定の文字列にマッチする方法は数通りあることがある.
  • デフォルトで,Wolfram言語はStringExpressionの先頭よりに現れたパターン要素が最長の可能な部分文字列にマッチする方法を使う.
  • 次は,数通りの方法が可能な場合にどれを使うかを決定する.
  • Shortest[p]p にマッチする最短のもの
    Longest[p]p にマッチする最長のもの(デフォルト)
  • 文字列の代りに通常の式をマッチさせる場合は,最長のマッチの代りに最短のマッチが使われる.
  • StringExpressionオブジェクトは,StringReplaceStringCasesStringSplitStringMatchQ等を含む多くの文字列操作関数で使うことができる.
  • StringExpressionFlatOneIdentityの属性を持つ.

例題

すべて開くすべて閉じる

  (2)

"ab"の後に任意の単一文字が続く文字列を表す文字列表現:

文字列パターン"ab"~~__をすべて置換させる:

文字列中のすべての等しい文字のペアを返す:

スコープ  (5)

シングルブランク(_)は任意の1つの文字を表す:

ダブルブランク(__)は1つ以上の文字からなる文字列を表す:

トリプルブランク(___)は零個あるいは1つ以上の文字からなる文字列を表す:

AnyOrderを使って任意順序のパターンをマッチする:

マッチするAnyOrderを変数に割り当てると文字列内の順序が保存される:

アプリケーション  (1)

4個の等しい数字を含む素数を求める:

文字列に変換するとStringMatchQを使うことができる:

特性と関係  (1)

StringExpressionオブジェクトは多くの文字列操作関数で使える:

Wolfram Research (2004), StringExpression, Wolfram言語関数, https://reference.wolfram.com/language/ref/StringExpression.html (2014年に更新).

テキスト

Wolfram Research (2004), StringExpression, Wolfram言語関数, https://reference.wolfram.com/language/ref/StringExpression.html (2014年に更新).

CMS

Wolfram Language. 2004. "StringExpression." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/StringExpression.html.

APA

Wolfram Language. (2004). StringExpression. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/StringExpression.html

BibTeX

@misc{reference.wolfram_2024_stringexpression, author="Wolfram Research", title="{StringExpression}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/StringExpression.html}", note=[Accessed: 17-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_stringexpression, organization={Wolfram Research}, title={StringExpression}, year={2014}, url={https://reference.wolfram.com/language/ref/StringExpression.html}, note=[Accessed: 17-November-2024 ]}