То есть вы хотите буквальную обратную косую черту в строках? Это хорошая загадка:
String item = "This | is | a | sample".replaceAll("\\|" , "\\\\|");
System.out.println(item);
печатает:
This \| is \| a \| sample
Почему это так?
Вы должны избежать буквального обратного слеша с помощью другого обратного слеша в строке Javaлитералы. То же самое относится и к специальным символам RegEx. Таким образом, в приведенном выше примере вы хотите сопоставить каждый литерал |
, поэтому перед ним ставится \
(экранирование RegEx) и другой \
(экранирование строки Java для первого \
).