1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > java转义字符串中的单引号

java转义字符串中的单引号

时间:2022-01-20 17:28:02

相关推荐

java转义字符串中的单引号

独角兽企业重金招聘Python工程师标准>>>

private Pattern ptn = pile(".*?'");public String escapeSingleQuota(String origin) {Matcher m = ptn.matcher(origin);StringBuffer sb = new StringBuffer();int end = 0;while(m.find()) {end = m.end();String seg = origin.substring(m.start(), end);int len = seg.length();if (len == 1) {if ('\'' == seg.charAt(0)) {sb.append("\\'");} else {sb.append(seg);}} else { // len > 1sb.append(seg.substring(0, seg.length() - 2));char lastcSec = seg.charAt(seg.length() - 2);if (lastcSec == '\\') {sb.append("\\'");} else {sb.append(lastcSec);sb.append("\\'");}}}if (end < origin.length()) {sb.append(origin.substring(end));}return sb.toString();}

@Testpublic void tresource() throws IOException {String c = new String(ByteStreams.toByteArray(applicationContext.getResource("classpath:fixtures/string/singlequota.txt").getInputStream()));c = hct.escapeSingleQuota(c);assertThat(c, equalTo("\\'abcu\\'\\'\\'zz"));}@Testpublic void t() {String s = "'''''a\\'";String news = hct.escapeSingleQuota(s);assertThat(news, equalTo("\\'\\'\\'\\'\\'a\\'"));s = "\'''''a\\'";news = hct.escapeSingleQuota(s);assertThat(news, equalTo("\\'\\'\\'\\'\\'a\\'"));s = "\'\'\'\''a\\'";news = hct.escapeSingleQuota(s);assertThat(news, equalTo("\\'\\'\\'\\'\\'a\\'"));}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。