您的位置:首页 > 其它

String Matching: The Simple way to implement String Matching

2012-05-10 14:49 323 查看
public static int match(String source, String pattern)
	{
	    char[] sourceArray = source.toCharArray() ;
	    char[] patternArray = pattern.toCharArray() ;
	    
	    int source_length = sourceArray.length ;
	    int pattern_length = patternArray.length ;
	    
	    int source_index = 0;
	    int pattern_index = 0;
	    int foundtimes = 0 ;
	    
	    while(source_index < source_length)
	    {
	    	
	        if(sourceArray[source_index]==patternArray[pattern_index]) //equals
	        {
	            
	            if(pattern_index == pattern_length-1)
			    {
	            	int start = source_index - pattern_index ;
	            	int end = source_index - pattern_index+pattern_length ;
	            	System.out.println(source.substring(start,end));
		        	
	            	foundtimes++ ;
		        	pattern_index = 0 ;
		        	
		        	continue ;
			    }
	            
	            source_index++;
	            pattern_index++;
	        }
	        else //not equals
	        {
	        	source_index = source_index - (pattern_index-1); 
	            pattern_index = 0;
	        }
	        
	    }//end while
	    
	    return foundtimes ;
	    
	}


Reference:http://saturnman.blog.163.com/blog/static/5576112010969957130/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: