Why doesn't the following change the text for me in Android?
String content = "test\n=test=\ntest";
content = content.replaceAll("^=(.+)=$", "<size:large>$1</size:large>")
It returns the original value with no changes. I would expect it to replace the middle
What am I missing here?
Edit: Okay, I understand why
don't work. The point is that I need something that matches text both at the beginning and end of a line, e.g. a line that contains only "=some text=". Most of the answers given aren't sufficient, for the following reasons:
doesn't have anything to do with line endings, so matches any line with two
in it that are not side by side.
matches the whole line, but has the same problem as the previous
gets closer, but won't match two lines in a row (e.g.
) It also won't match an instance on the first or last line
almost works, but again won't match an instance on the first or last line
is the only one that seems will actually match every line that starts and ends with
, for example, but $1 contains both the replacement and the original string.
content = content.replaceAll("(?<=(\n|^))=(.+)=(?=(\n|$))", "<size:large>$2</size:large>");
is the only answer that seems to actually do what it should.