我有字符串
a.b.c.d
Run Code Online (Sandbox Code Playgroud)
我想计算'.'的出现次数.以惯用的方式,最好是单线.
(以前我把这个约束表达为"没有循环",如果你想知道为什么每个人都试图回答而不使用循环).
假设我有一个文件,该文件包含:
HelloxxxHelloxxxHello
Run Code Online (Sandbox Code Playgroud)
我编译一个模式来寻找'你好'
Pattern pattern = Pattern.compile("Hello");
Run Code Online (Sandbox Code Playgroud)
然后我使用输入流来读取文件并将其转换为String,以便可以对其进行重新编码.
一旦匹配器在文件中找到匹配项,它就表明了这一点,但它没有告诉我它找到了多少匹配项; 只是它在String中找到了匹配项.
因此,由于字符串相对较短,并且我使用的缓冲区是200字节,因此它应该找到三个匹配项.但是,它只是简单地说匹配,并没有向我提供有多少匹配的计数.
计算String中发生的匹配数的最简单方法是什么.我已经尝试了各种for循环并使用matcher.groupCount(),但我无处可去.
我有一个类似"3332255766122"的字符串,我希望在这样的数组中有这样的字符:333,22,55,7,66,1,22
因此,只要出现新字符,就应该将字符串分成几部分.这可能吗?
我当前的方法是检查一个字母,而不是检查下一个字母,如果它们是相等的,也检查下一个字母,依此类推,如果它们不相等,它们先前相等的字母将被添加到列表中.