3

可能重复:
如何在字符串中找到正则表达式匹配的索引?
如何获取正则表达式匹配在字符串中的位置?

给定以下字符串,如何找到每个字符串中第一个 alpha 的位置?

1)- Alpha

2)beta

3). Gamma

4)'delta'

最终我在子字符串之后,从第一个字母字符开始。所以我正在寻找抵消我的子字符串以获得Alpha.

我正在寻找的偏移量(来自上面的例子)是:

1) 2

2) 0

3) 2

4) 1

我不关心任何特殊字符。只是第一个 alpha,不区分大小写 (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 回答