Итак, предположим, у меня есть:
String s = "1479K";
String t = "459LP";
, и я хочу вернуть
String commonChars = "49";
общие символы между двумя строками.
Очевидно, что это можно сделать со стандартом цикл вроде:
String commonChars = "";
for (i = 0; i < s.length; i++)
{
char ch = s.charAt(i);
if (t.indexOf(ch) != -1)
{
commonChars = commonChars + ch;
}
}
Однако я бы хотел сделать это в одной строке, используя replaceAll
. Это можно сделать следующим образом:
String commonChars = s.replaceAll("["+s.replaceAll("["+t+"]","")+"]","");
Мой вопрос: можно ли сделать это с помощью одного вызова replaceAll
? А каким было бы регулярное выражение? Я предполагаю, что мне нужно использовать своего рода взгляд вперед, но мой мозг превращается в кашу, когда я даже думаю об этом.