删除公共字符

来源:互联网 发布:中国国籍知乎 编辑:程序博客网 时间:2024/06/02 05:02

又是一道特别简单,而我又忽略了小细节而导致做不出来的题目。

总结一下小知识:

  • String类型可以不必转换为数组 ,就能用charAt(index)来取出字符串中的每个字符

  • String中自带的判断包含关系的函数contains(CharSequence s)的参数是CharSequence ,而不是char,所以需要正常取出来之后:charAt(index)+“”就可以啦

  • indexOf():用来找指定索引位置的字符,也有可以做判断使用,找不到返回-1;

下面三种方式:

  • contains
public class Main {    public static void main(String args[])throws Exception    {        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));        String str1=br.readLine().trim();        String str2=br.readLine().trim();        StringBuffer bf=new StringBuffer(1024);        for(int i=0;i<str1.length();i++)        {              if(!str2.contains(str1.charAt(i)+""))            {                bf.append(str1.charAt(i));            }        }        System.out.println(bf.toString());    }}
  • indexOf()
public class Main{    public static void main(String[] args) throws IOException{        BufferedReader br =new BufferedReader(new InputStreamReader(System.in));        String mline=br.readLine().toString();        String keywords=br.readLine().toString();        char[] chs=mline.toCharArray();        StringBuilder sb=new StringBuilder();        for(int i=0;i<chs.length;i++){         if(keywords.indexOf(chs[i])==-1)sb.append(chs[i]);        }        System.out.println(sb.toString());    }}
  • replaceAll()
import java.util.Scanner;public class Main {    public static void main(String[] args)  {        Scanner sc = new Scanner(System.in);        while (sc.hasNext()) {            String s1 = sc.nextLine();            String s2 = sc.nextLine();            String pattern = "[" + s2 + "]";            String result = s1.replaceAll(pattern, "");            System.out.println(result);        }    }}
原创粉丝点击