是人的一種功課......但你的幫助將不勝感激..在java中尋找一種模式
比較遺憾的是不完整的以前我question..i一個新人,所以請不要介意。 ..
我有一個字符串,例如,「你是怎麼回事你是我」和我想比較的字符串是「是」。
現在的問題是如果它看起來像「aare」那麼它被忽略,因爲它變成了一個完全不同的單詞,如果它看起來像「你是一個人」那麼它是因爲'你'會被接受爲另一種模式,'重新'爲另一種模式,如果它看起來像「uare」那麼它會被拒絕,因爲它會形成一個像空間詞這樣的特定模式......所以你也會變成'是'的一部分,因此它應該被拒絕',如果它顯示爲「你自己」,它被接受並且「你是」也被接受。
- 「阿勒」 它被忽略
- 「你再」 被接受
- 「uare」 被拒絕
- 「你AR E」 被接受
- 「你」也接受
我嘗試以下代碼:
public class testPattern1 {
public static void main(String args[])
{
String a="How aare yoar u a r e yo ar e";
String compare="are";
int i,temp=0;
for(i=0;i<a.length();i++)
{
if (a.charAt(i)==compare.charAt(0))
{
temp=i;
temp++;
for(int d=temp;d<a.length();)
{
while(a.charAt(temp)==' ')
{
temp++;
}
if(a.charAt(temp)==compare.charAt(1))
{
temp++;
}
else
{
break;
}
while(a.charAt(temp)==' ')
{
temp++;
}
if(a.charAt(temp)==compare.charAt(2))
{
System.out.println("matched at"+temp);
}
else
{
System.out.println("not matched at"+temp);
}
}
}
}
}
}
希望現在你們已經明白的問題..這
你可以發佈「are」的可接受和不可接受的模式列表,這將有助於弄清楚究竟應該做什麼。 – Smit
@smit:yes ofcourse ..模式如下:1.如果'are'出現在'aare'或任何其他單詞中,如'hare'或'barel',即如果它與其他字母組合,不算數。 2.如果它出現在'醫生那裏',那麼它也不會被計數,因爲'整個'作爲一個整體形成一個特定的模式,如果它像'醫生那裏'那麼它會被接受。如果它看起來像'你好怎麼樣'那麼它被接受。 4.「你怎麼樣」也被接受。 – user1875666
我必須說你有非常古怪的「是」的模式。但它是可以實現的。你最好的選擇是遵循@ null代碼(答案2)。爲「是」製作所有可接受事件的數組。通過字符讀取每一行,並將所有匹配項與字符串進行比較。你將不得不添加一些邏輯hack來實現一些字符串模式。如果您有任何問題,請告訴我們。祝你好運 – Smit