Reputation: 871
In Android I have the next regexp \b(id)\b
,
In this query (i.e.) I want replace exactly the word 'id' :
SELECT schedules.id as 'idreal' FROM schedules WHERE schedules.id = 12;
Final query:
SELECT schedules._id as 'idreal' FROM schedules WHERE schedules._id = 12;
But it doesn't work, the \b is for word boundary, but it doesn't work. What i'm doing groing?
This is my code:
Matcher matcher = Pattern.compile("\b(id)\b").matcher(field);
String query = matcher.replaceAll("_id");
Log.v(TAG, "Clean Query: " + query);
I tested in
Thanks a lot.
Upvotes: 4
Views: 2766
Reputation: 369134
You should escape \
to represent \
literally. Otherwise \b
means a backspace characters.
Matcher matcher = Pattern.compile("\\b(id)\\b").matcher(field);
Upvotes: 7