当前位置: 首页 > 面试题库 >

用Java查找具有连续字符的字符串

訾俊名
2023-03-14
问题内容

用Java编写一个函数,该函数接受一个字符串数组,并且从字符串数组中仅返回那些具有重复的特定字母的字符串,例如:如果I / P为

{"Dauresselam", "slab", "fuss", "boolean", "clap"}

那么O / P应该是

{"Dauresselam", "fuss", "boolean"}

我可以使用解决

import java.util.Scanner;
public class doubleChars {
    public static String[] getDoubles(String[]In)
    {

        int inLen=In.length;
        String zoom[]=new String[inLen];
        int count=0;
        if(inLen==0)
        {
            return zoom;
        }
        for(int i=0;i<=inLen-1;i++)
        {
            String A=In[i];
            //System.out.println(A);
            int striLen=A.length();
            for(int j=0;j<striLen-1;j++)
            {

                if(A.substring(j, j+1).equals(A.substring(j+1, j+2)))
                {
                    zoom[count]=A;
                    count++;
                    break;
                }
            }

        }
          return zoom;
        }
     public static void main(String[] args)
     {
         char more='y';
         int ab=0;
        String[] res={};
        String[] fillMe={"durres", "murres", "", "abcdeee", "boolean", "nger", "lagger"};
        Scanner strobe=new Scanner(System.in);
        System.out.println("Please enter the arraye of the string");
        /*while(strobe.hasNext())
        {
            fillMe[ab]=strobe.next();

            ab++;
        }
        */
        res=doubleChars.getDoubles(fillMe);
        for(int k=0;k<res.length;k++)
        {
            if(res[k]==null)
            {
                break;
            }
        System.out.println(res[k]);
        }
    }
}

IS 没有使用正则表达式的方式 ,使之短?


问题答案:

您可以使用反向引用:

([a-z])\1

通过Debuggex进行可视化

Java示例:

String[] strings = { "Dauresselam", "slab", "fuss", "boolean", "clap" };

String regex = "([a-z])\\1";
Pattern pattern = Pattern.compile(regex);

for (String string : strings) {
    Matcher matcher = pattern.matcher(string);
    if (matcher.find()) {
        System.out.println(string);
    }
}

印刷品:

Dauresselam
fuss
boolean


 类似资料:
  • 给定一个字符串,找出最长的子字符串,其字符是连续的(即它们是连续的字母),但可能是混乱的(即无序的)。例如:< br >输入:< code>"owadcbjkl" 输出:< code>"adcb" 我们认为< code>adcb与其形成的< code>abcd是连续的。 (这是一个面试问题。) 我有一个想法,运行一个有两个条件的同时循环,一个条件是使用Python的检查连续字符,另一个条件是找到最

  • 问题:我在用Java玩,我试图计算字符串中连续的“字符”。 例子: 上面的代码返回输入的整数值的二进制字符串。如果我们输入数字5,将返回: 101 现在,我希望遍历字符串,并检查字符串中是否有任何连续的1。 我不知道如何检查这个。我尝试了以下方法: 但这显然会抛出一个ArrayIndexOutOfBounds,因为将产生一个大于数组长度的数字。 提前感谢您的回答。 欧文

  • 主要内容:根据字符查找,根据索引查找在给定的字符串中查找字符或字符串是比较常见的操作。字符串查找分为两种形式:一种是在字符串中获取匹配字符(串)的索引值,另一种是在字符串中获取指定索引位置的字符。 根据字符查找 String 类的 indexOf() 方法和 lastlndexOf() 方法用于在字符串中获取匹配字符(串)的索引值。 1. indexOf() 方法 indexOf() 方法用于返回字符(串)在指定字符串中首次出现的索

  • 我有一个字符串“1,3,5,7,9,11,12,14”,我想检查该字符串在java中是否包含“12,3,14”。 我的代码:

  • 问题内容: 我想计算一个字符串中某个字符的出现次数,假设我有一个字符串“ aaaab”,我如何计算其中的a数量? 问题答案: 如果不使用正则表达式,则代码看起来更易于阅读。 现在在您的字符串中包含数字“ a”。并且,这在最佳时间执行。 正则表达式非常适合模式匹配。但是只需定期循环即可在此处完成工作。

  • 问题内容: 我想在字符串中找到所有连续的,重复的字符块。例如,考虑以下内容: 我想找到这个:,和。 我试图这样做: 但这似乎不像我期望的那样。有任何想法吗? 另外,如何在Bash中做到这一点? 问题答案: 匹配3个或更多连续字符: 匹配任何字母数字字符。 匹配任何字母数字字符,后跟相同的字符,因为匹配组号2的内容。由于我嵌套了括号,因此组号2表示由匹配的字符。 然后将它们放在一起, 匹配任何字母数