我们有一个字符串输入及以下组合是有效的(例如sunday,*sunday*,sun*day*,*sun*day,su*nda*y)如果只包含一个星号,那么这是一个错误的输入.
因此,鉴于上述输入,我如何检查字符串是否包含多个星号.
int asterisk1 = input.indexOf('*');
boolean hasTowAsterisks = asterisk1 != -1 && input.indexOf('*', asterisk1+1) != -1;
Run Code Online (Sandbox Code Playgroud)
编辑:此解决方案假设要求"至少有两个星号".
您可以使用String.matches正则表达式:
"^.*(?:\\*.*){2}$"
Run Code Online (Sandbox Code Playgroud)
如果你想正好两个星号:
"^[^*]*(?:\\*[^*]*){2}$"
Run Code Online (Sandbox Code Playgroud)
尽管对于此任务,只需遍历字符串并计算星号可能会更简单。