3

重複の可能性:
文字列内の正規表現一致のインデックスを見つけるにはどうすればよいですか?
文字列内の正規表現一致の位置を取得するには?

次の文字列が与えられた場合、各文字列の最初のアルファの位置を見つけるにはどうすればよいですか?

1)- Alpha

2)beta

3). Gamma

4)'delta'

最終的には、最初のアルファベット文字から始まる部分文字列を探します。だから私は得るために私の部分文字列をオフセットしようとしていますAlpha

私が探しているオフセット (上記の例から) は次のとおりです。

1) 2

2) 0

3) 2

4) 1

特殊文字は気にしません。大文字と小文字を区別しない最初のアルファベット (A-Za-z)。

4

2 に答える 2

6

preg_match()を使用します:

コード:

foreach (array('- Alpha', 'beta', '. Gamma', "'delta'") as $value) {
    preg_match('~[a-z]~i', $value, $match, PREG_OFFSET_CAPTURE);
    print_r($match);
}

出力:

Array
(
    [0] => Array
        (
            [0] => A
            [1] => 2
        )
)
Array
(
    [0] => Array
        (
            [0] => b
            [1] => 0
        )
)
Array
(
    [0] => Array
        (
            [0] => G
            [1] => 2
        )
)
Array
(
    [0] => Array
        (
            [0] => d
            [1] => 1
        )
)
于 2012-10-01T18:06:24.440 に答える
0

forループを使用し、内部にif条件を追加し、文字列全体でforループを実行します。「i」は、現在の位置にある文字です。

if(i>='a' && i<='z' || i>='A' && i<='Z')
于 2012-10-01T18:04:33.123 に答える