locbalpar_JPH {lazy.symbolic} | R Documentation |
文字列において対応する括弧の位置を返す。
Description
英語のヘルプファイルは: locbalpar
Arguments
exp |
入力文字列(長さ1の文字ベクトル)。 |
loc |
括弧の開始位置または終了位置を指定する。 その対応する括弧の位置が返される。 |
Details
loc
は正の値であり、かつ nchar(exp)
未満でなければならない。
substring(exp,loc,loc)
は開き括弧または閉じ括弧でなければならない。
そうでない場合、この関数は 0 を返す。
Value
長さ loc
と同じ位置ベクトルを返す。対応する括弧がない場合は 0。
Examples
# 入力文字列
# 1111111111222222222233333333
# 1234567890123456789012345678901234567
exp <- "a+([a+b]*(c*{d+e}))-(f-g) +(((<()>)) "
# 位置を指定して対応する括弧の位置を取得
locbalpar( exp, 3 )
locbalpar( exp, 19 )
locbalpar( exp, c(4,8) )
locbalpar( exp, c(13,17) )
locbalpar( exp, c(31,34) )
locbalpar( exp, c(34,31, 3,19) )
# 正規表現で "(" の位置を抽出して対応括弧を求める
locbalpar( exp, regexpr( "\\(", exp ) )
# 対応する括弧が存在しない場合
locbalpar( exp, 28 )
# substr(exp,n,1) が括弧である限り、以下は常に成り立つはずである。
n <- 10; n == locbalpar( exp, locbalpar( exp, n ) )
n <- 36; n == locbalpar( exp, locbalpar( exp, n ) )
[Package lazy.symbolic version 1.0.0.20250830 ]