【发布时间】:2016-12-26 07:12:55
【问题描述】:
import java.util.*;
import java.lang.*;
import java.io.*;
class GFG
{
public static void main (String[] args)
{
int turns;
Scanner scan=new Scanner(System.in);
turns=scan.nextInt();
while(turns-->0)
{
String pattern=scan.next();
String text=scan.next();
System.out.println(regex(pattern,text));
}
}//end of main method
static int regex(String pattern,String text)
{
if(pattern.startsWith("^"))
{
if(text.startsWith(pattern.replace("^","")))
return 1;
}
else if(pattern.endsWith("$"))
{
if(text.endsWith(pattern.replace("$","")))
return 1;
}
else
{
if(text.contains(pattern))
return 1;
}
return 0;
}
}
输入: 2 或$ 阿多 或$ 亚亚
输出: 1 0
在这个程序中,我正在扫描两个参数(字符串),其中第一个是模式,第二个是我必须在其中找到模式的文本。如果模式匹配,则方法应返回 1,否则返回 0。 使用替换时它工作正常,但是当我将 replace() 替换为 replaceAll() 时,它无法按预期正常工作。 我怎样才能让 replaceAll() 在这个程序中工作。
【问题讨论】:
-
replace需要一个字符串,replaceAll需要一个正则表达式。 stackoverflow.com/questions/14826143/…
标签: java string replace replaceall