Java - 如何在字符串中搜索6个随机数

DVP*_*eer 5 java string digits indexof

我的应用程序中有一个(大)字符串文件,其中包含一系列随机字符[aZ]和[0-9]以及";","/","?",":"和"@".我希望我的申请告诉我连续显示6位数的最近位置(如"105487"或"558463").

实现这一目标的最佳方法是什么?感谢您对此进行调查.

Joh*_*erg 1

一种有效的方法是迭代字符串的字符并测试每个字符是否是数字。找到匹配项后,继续查找序列的其余部分。就像是

int nDigits=0, i = 0;
CharacterIterator it = new StringCharacterIterator("very long string123456");
for (char ch=it.first(); ch != CharacterIterator.DONE; ch=it.next()) {
  i++;
  nDigits = (ch.isDigit() ? nDigits++ : 0);
  if (nDigits == 5) {
      // DONE. Position is "i"
  }
}
Run Code Online (Sandbox Code Playgroud)