本ページには広告が含まれています。
文字列の左側から制御文字もしくはcharactersに指定された文字群を取り除きます。
- 構文
- String = leftTrim( str, characters )
- 引数
- str (String)必須
- 文字列
- characters (String = \x00..\x1F\x7F)省略可
- 削除する文字、デフォルトでは制御文字を表すASCII文字コードの範囲(\x00..\x1F\x7F)が指定されています。文字の範囲を指定する場合は、開始文字..終了文字の形式で指定。
- 戻り値
- 左側の制御文字もしくは指定された文字が取り除かれた文字列
プログラム
//////////////////////////////////////////////////
// 【引数】
// str : 文字列
// characters : 削除する文字、デフォルトでは制御文字を表すASCII文字コードの範囲(\x00..\x1F\x7F)が指定されています。文字の範囲を指定する場合は、開始文字..終了文字の形式で指定。
// 【戻り値】
// 左側の制御文字もしくは指定された文字が取り除かれた文字列
//////////////////////////////////////////////////
FUNCTION leftTrim(str, characters = "\x00..\x1F\x7F")
characters = REPLACE(characters, "-", "\-")
IF reTest(characters, "\\x[0-9A-Fa-f]{2}\.\.\\x[0-9A-Fa-f]{2}") THEN characters = REPLACE(characters, "..", "-")
RESULT = reReplace(str, "", "^[" + characters + "]+")
FEND
//////////////////////////////////////////////////
// 【引数】
// str1 : 置換される文字列
// str2 : 置換後の文字列
// Pattern : 置換する文字列のパターン
// IgnoreCase : 大文字・小文字を区別しない場合はTrue、区別する場合はFalse
// Global : 文字列全体を検索する場合はTrue、しない場合はFalse
// 【戻り値】
// 正規表現置換後の文字列
//////////////////////////////////////////////////
FUNCTION reReplace(str1, str2, Pattern, IgnoreCase = TRUE, Global = TRUE)
DIM re = CREATEOLEOBJ("VBScript.RegExp")
re.Pattern = Pattern
re.IgnoreCase = IgnoreCase
re.Global = Global
RESULT = re.Replace(str1, str2)
FEND
//////////////////////////////////////////////////
// 【引数】
// str : 正規表現による検索の対象となる文字列
// Pattern : 正規表現で使用するパターンを設定
// IgnoreCase : 大文字・小文字を区別しない場合はTrue、区別する場合はFalse
// Global : 文字列全体を検索する場合はTrue、しない場合はFalse
// 【戻り値】
// 正規表現にマッチするかどうかを示すブール値
//////////////////////////////////////////////////
FUNCTION reTest(str, Pattern, IgnoreCase = TRUE, Global = TRUE)
DIM re = CREATEOLEOBJ("VBScript.RegExp")
re.Pattern = Pattern
re.IgnoreCase = IgnoreCase
re.Global = Global
RESULT = re.Test(str)
FEND
使い方
左側のゼロを削除
0007890の左側から連続するゼロを削除します。右側のゼロは残ります。
PRINT leftTrim("0007890", "0")
- 結果
7890
左側のアルファベット大文字を削除
ABC123の左側から連続するアルファベット大文字を取り除きます。
範囲を指定する場合は開始文字と終了文字の間に..を記述します。A..Zがアルファベット大文字のAからZの26文字を表しています。
PRINT leftTrim("ABC123", "A..Z")
- 結果
123