How to use a single replaceall to find the common characters of two strings in Java?
•
Java
So suppose I have:
String s = "1479K"; String t = "459LP";
I want to come back
String commonChars = "49";
The common character between two strings
Obviously, standard cycles can be used, such as:
String commonChars = ""; for (i = 0; i < s.length; i++) { char ch = s.charAt(i); if (t.indexOf(ch) != -1) { commonChars = commonChars + ch; } }
But I want to be able to do this on one line using replaceall This can be done as follows:
String commonChars = s.replaceAll("["+s.replaceAll("["+t+"]","")+"]","");
My question is: can I use a single call to replaceall to do this? What is a regular expression? I think I must use some kind of foresight, but when I think of it, my brain becomes confused
Solution
String commonChars = s.replaceAll("[^"+t+"]","");
String commonChars = s.replaceAll("[^"+t+"]","");
Note that you may need to escape special characters in T, such as using pattern Quote (T) instead of the above t
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码