繁体   English   中英

Java中的通配符搜索字符串

[英]Wild Card Search Strings in Java

我正在尝试在Java中实现通配符。

这是我的代码

public class Assign {

    public boolean compare(String s1, String s2)
    {
        char [] s3 = s1.toCharArray();
        char [] s4 = s2.toCharArray();
        int i,j;

        int k = 0;
        for(i=0;i<s3.length;i++)
        {
            for(j=0;j<s4.length;j++)
            {
                if(s3[i] == s4[j])
                {

                    if(s4[j] == '*')
                    {
                        i++;

                        if(s3[i] == s4[s4.length-1])
                        {
                            return true;
                        }
                    }
                }
            }
        }
        return false;
    }
    public static void main(String args[])
    {
        Assign a = new Assign();
        boolean r = a.compare("a hello b", "a * b");
        System.out.println(r);
    }
}

将有两个参数传递给该函数。 一个是字符串,另一个是正则表达式。

示例案例是:

1)如果传递的字符串是“ a hello b”,而正则表达式是“ a * b”,则该函数应返回TRUE,因为在*处可以存在任意数量的字符。

2)如果传递的字符串是“ a X b”并且正则表达式是“ a?b”,则返回值应为TRUE,因为如果存在? 在正则表达式中,则a和b之间应该只有一个字符。

这样,它将适用于所有情况。 我认为我认为的逻辑很好,但是我在编码部分遇到了麻烦。

我不想导入Pattern和Matcher。 没有他们,我必须完成这一工作。

对此,任何人都可以帮助我。

感谢您

如果看到“?” 然后跳过一个字符。 如果看到“ *”,则对其余输入递归调用搜索功能,直到找到匹配项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM