mxsdoc

StringUtility.ms

依存

struct StringUtilityStruct

文字列操作を行うためのメソッドを提供する。

private regexClass

プロパティ
<DotNetClass:System.Text.RegularExpressions.Regex>

private regexOptionsEnum

プロパティ
<Struct:EnumStruct>

"System.Text.RegularExpressions.RegexOptions"列挙型。

private stringClass

プロパティ
<DotNetClass:System.String>

private stringSplitOptionsEnum

プロパティ
<Struct:EnumStruct>

"System.StringSplitOptions"列挙型。

private backslashRegex

プロパティ
<DotNetObject:System.Text.RegularExpressions.Regex>

\\\\に一致する正規表現オブジェクト。

private camelRegex

プロパティ
<DotNetObject:System.Text.RegularExpressions.Regex>

(?<=\b)\w|(?<=[a-z])[A-Z]|(?<=[0-9_])[a-z]に一致する正規表現オブジェクト。

private commaRegex

プロパティ
<DotNetObject:System.Text.RegularExpressions.Regex>

\s*,\s*に一致する正規表現オブジェクト。

private crRegex

プロパティ
<DotNetObject:System.Text.RegularExpressions.Regex>

\rに一致する正規表現オブジェクト。

private dotNetUtility

プロパティ
<Struct:DotNetUtilityStruct>

private doubleQuoteRegex

プロパティ
<DotNetObject:System.Text.RegularExpressions.Regex>

\\\"に一致する正規表現オブジェクト。

private enumDef

プロパティ
<StructDef:EnumStruct>

private formatRegex

プロパティ
<DotNetObject:System.Text.RegularExpressions.Regex>

(?<!\\\\)%に一致する正規表現オブジェクト。

private lfRegex

プロパティ
<DotNetObject:System.Text.RegularExpressions.Regex>

\nに一致する正規表現オブジェクト。

private nonWordRegex

プロパティ
<DotNetObject:System.Text.RegularExpressions.Regex>

\Wに一致する正規表現オブジェクト。

private percentRegex

プロパティ
<DotNetObject:System.Text.RegularExpressions.Regex>

\\\\%に一致する正規表現オブジェクト。

private tabRegex

プロパティ
<DotNetObject:System.Text.RegularExpressions.Regex>

\tに一致する正規表現オブジェクト。

public fn ClipString

入力文字列を指定の桁数に収まるよう省略する。

パラメータ
input
<String>
パラメータ
digit:
<Integer>

桁数。既定値は40

戻り値
<String>

public fn CreateRegex

正規表現オブジェクトを作成する。

パラメータ
pattern
<String>

正規表現パターン文字列。

パラメータ
options:
<Array[<Name>]>

正規表現のオプション。既定値は#(#IgnoreCase, #Singleline)
有効な値は次の通り。

効果
#Compiled 正規表現をアセンブリにコンパイルする。
#CultureInvariant 言語のカルチャの違いを無視する。
#ECMAScript 式のECMAScript準拠の動作を有効にする。
#ExplicitCapture 名前のないグループをキャプチャしない。(?<name>subexpression)という形式で、明示的に名前または番号が付加されたグループのみを有効なキャプチャ対象とする。
#IgnoreCase 大文字と小文字を区別しない一致を使用する。
#IgnorePatternWhitespace エスケープされていない空白をパターンから除外し、シャープ記号#の後ろのコメントを有効にする。
#Multiline 複数行モードを使用する。^$は、(入力文字列の先頭および末尾ではなく)各行の先頭および末尾と一致する。
#None 既定の動作を使用する。
#RightToLeft 検索の方向を変更する。左から右ではなく、右から左に検索する。
#Singleline 単一行モードを使用する。このモードでは、ピリオド.は任意の1文字と一致する(\nを除くすべての文字の代用)。

詳細はRegexOptions 列挙型、および正規表現のオプションを参照。

戻り値
<DotNetObject:System.Text.RegularExpressions.Regex>

public fn EscapeBackslash

入力文字列中の\\%\"\n\r、および\tをエスケープ処理する。

パラメータ
input
<String>
戻り値
<String>

public fn EscapeWhiteSpace

入力文字列中の\n\r、および\tをエスケープ処理する。

パラメータ
input
<String>
戻り値
<String>

public fn FormatString

format関数のパラメータを配列で渡せるようにしたメソッド。

パラメータ
input
<String>

フォーマット文字列。

パラメータ
values
<Array[<Any>]>

フォーマット文字列中の%の数に対応した配列。

戻り値
<String>

public fn FromCodePoint

Unicodeコードポイントの配列を文字列に変換する。

パラメータ
codePoints
<Array[<Integer>]>

10進数、または16進数のコードポイント配列。

戻り値
<String>
補足

0x10000以上は補助コードポイントとして処理する。

public fn GetRegexOptions

正規表現オブジェクトのオプションを配列として取得する。

パラメータ
obj
<DotNetObject:System.Text.RegularExpressions.Regex>

正規表現オブジェクト。

パラメータ
asStringArray:
<BooleanClass>

文字列配列として取得する場合はtrue、名前配列として取得する場合はfalse。既定値はfalse

戻り値
<Array[<Name>]|Array[<String>]>

public fn GetRegexPattern

正規表現オブジェクトの正規表現パターン文字列を取得する。

パラメータ
obj
<DotNetObject:System.Text.RegularExpressions.Regex>

正規表現オブジェクト。

戻り値
<String>

public fn GetUnicodeCodePointFromSurrogatePair

サロゲートペアからUnicodeコードポイントを取得する。

パラメータ
highSurrogate
<Integer>

上位サロゲートコードポイント。

パラメータ
lowSurrogate
<Integer>

下位サロゲートコードポイント。

戻り値
<Integer>

Unicodeコードポイント。

public fn GetValidUnicodeCodePoint

Unicodeコードポイントから正しい文字に変換可能なUnicodeコードポイントの配列を取得する。

パラメータ
codePoint
<Integer>

10進数、または16進数の整数値。

戻り値
<Array[<Integer>]>

codePoint0x10000以上の場合は1番目が上位サロゲートコードポイント、2番目が下位サロゲートコードポイントの配列、0xFFFF以下の場合は渡されたコードポイントのみの配列。

public fn IsRegexObject

パラメータ
obj
<DotNetObject:System.Text.RegularExpressions.Regex>

正規表現オブジェクト。

戻り値
<BooleanClass>

public fn Join

文字列配列の全ての要素を連結する。

パラメータ
input
<Array[<String>]>

文字列配列。

パラメータ
separator:
<String>

区切り文字。既定値は""

戻り値
<String>

public fn PadLeft

文字列の左側に任意の文字を埋め込むことで現在の文字列を右寄せした新しい文字列を生成する。

パラメータ
input
<String>
パラメータ
width
<Integer>

生成される文字列の文字数。

パラメータ
char
<String>

埋め込み文字。二文字以上の文字列を指定した場合は一文字目を使用する。

戻り値
<String>
補足
input width char 結果
"foo" 10 - "-------foo"

public fn PadRight

文字列の右側に任意の文字を埋め込むことで現在の文字列を左寄せした新しい文字列を生成する。

パラメータ
input
<String>
パラメータ
width
<Integer>

生成される文字列の文字数。

パラメータ
char
<String>

埋め込み文字。二文字以上の文字列を指定した場合は一文字目を使用する。

戻り値
<String>
補足
input width char 結果
"foo" 10 - "foo-------"

public fn Serialize

値をシリアライズする。

パラメータ
input
<Any>
戻り値
<String>

public fn Split

文字列を部分文字列に分割する。

パラメータ
input
<String>
パラメータ
separator
<String|Array[<String>]>

区切り文字として使用する文字列、もしくは文字列配列。
文字列を指定した場合は文字一つ一つが区切り文字となる。

パラメータ
removeEmpty:
<BooleanClass>

空の配列要素を省略する場合はtrue、空の配列要素も含める場合はfalse。既定値はtrue

戻り値
<Array[<String>]>
補足

removeEmptyfalseの時、一致する区切り文字が一つの場合は空要素が省略される。

(
  format "%\n" ((::StringUtilityStruct()).Split "foo.bar.baz" ".a" removeEmpty:false)
  -- 結果
  #("foo", "b", "r", "b", "z")
)

一致する区切り文字が二つ以上連続する場合、空要素は省略されない。
ただしこの場合もそれぞれの区切り文字が個別の空要素になるのではなく、一つの空要素にまとめられる。

(
  format "%\n" ((::StringUtilityStruct()).Split "foo.bar.baz" ".b" removeEmpty:false)
  -- 結果
  #("foo", "", "ar", "", "az")
)

文字列配列の指定に対しても同様の法則が適用される。

(
  format "%\n" ((::StringUtilityStruct()).Split "foo.bar.baz" #(".b") removeEmpty:false)
  -- 結果
  #("foo", "ar", "az")
)

public fn SplitByLF

\nの位置で部分文字列に分割する。

パラメータ
input
<String>
戻り値
<Array[<String>]>

public fn ToCharArray

入力値の各文字を要素とする配列に変換する。

パラメータ
input
<String>
戻り値
<Array[<String>]>
補足

空文字列の場合は空配列を返す。

public fn ToPascalCase

入力値をパスカル形式の文字列に変換する。

パラメータ
input
<Any>
戻り値
<String>
補足

BooleanClassOkClassUndefinedClassUnsuppliedClassのリテラルは全て小文字になる。
文字列リテラル中のエスケープシーケンスのエスケープ処理は行わない。

public fn Trim

先頭および末尾の空白文字を全て削除する。

パラメータ
input
<String>
戻り値
<String>

public fn TrimEnd

末尾から指定した文字セットを全て削除する。

パラメータ
input
<String>
パラメータ
chars
<String>

削除する文字の文字列。

戻り値
<String>

public fn TrimStart

先頭から指定した文字セットを全て削除する。

パラメータ
input
<String>
パラメータ
chars
<String>

削除する文字の文字列。

戻り値
<String>

public fn StructName

戻り値
<Name>

public fn Dump

パラメータ
indent:
<String>
パラメータ
out:
<FileStream|StringStream|WindowStream>

出力先。既定値はlistener

戻り値
<OkClass>

public fn Equals

パラメータ
obj
<Any>
戻り値
<BooleanClass>
補足

大文字と小文字を区別する。