【发布时间】:2013-04-23 06:47:30
【问题描述】:
对不起,由于我的问题,我刚刚发现了一个新问题: Get The Number of Sepecific String Inside String.
我一直在努力,如何找到字符串中特定字符的个数?情况是这样的。
function get_num_chars($char) {
$string = '120201M, 121212M-1, 21121212M, 232323M-2, 32323K, 323232K-1'
}
如果我通过get_num_chars(M) would return 2
如果我通过get_num_chars(M-1) would return 1
我尝试了count_chars()、substr_count(),但它不起作用。
【问题讨论】:
-
问题是当某些东西包含
K-1时,它也包含K。函数应该如何知道不计算这些?您需要更仔细地定义问题。 -
@Barmar:OP 没有指定
K-1不应该匹配? -
@Aquillo 他确实指定了...他希望 if (M) 返回 2,如果 (M-1) 返回 1....“Barmar”是正确的。
-
哦,对不起。在这种情况下,您最好计算正则表达式的匹配项,例如
count matches of char not followed by dash或count matches of char followed by comma or end of line -
我只是虽然解决方案是使用正则表达式来区分出现的“K”(K 后面没有“-1”)和 K-1(K 后面跟着-1)。正则表达式怎么写?