/** * 驼峰转下划线,效率比上面高 * @param str * @return */ public static String humpToLine(String str) { Matcher matcher = humpPattern.matcher(str); StringBuffer sb = new StringBuffer(); while (matcher.find()) { matcher.appendReplacement(sb, "_" + matcher.group(0).toLowerCase()); } matcher.appendTail(sb); return sb.toString(); }
public static String replaceProperty(String expression, Map<String, String> params) { if (expression == null || expression.length() == 0 || expression.indexOf('$') < 0) { return expression; } Matcher matcher = VARIABLE_PATTERN.matcher(expression); StringBuffer sb = new StringBuffer(); while (matcher.find()) { String key = matcher.group(1); String value = System.getProperty(key); if (value == null && params != null) { value = params.get(key); } if (value == null) { value = ""; } matcher.appendReplacement(sb, Matcher.quoteReplacement(value)); } matcher.appendTail(sb); return sb.toString(); }
public static String replaceProperty(String expression, Map<String, String> params) { if (expression == null || expression.length() == 0 || expression.indexOf('$') < 0) { return expression; } Matcher matcher = VARIABLE_PATTERN.matcher(expression); StringBuffer sb = new StringBuffer(); while (matcher.find()) { String key = matcher.group(1); String value = System.getProperty(key); if (value == null && params != null) { value = params.get(key); } if (value == null) { value = ""; } matcher.appendReplacement(sb, Matcher.quoteReplacement(value)); } matcher.appendTail(sb); return sb.toString(); }
public static String parse ( String input ) { Pattern pattern = Pattern.compile("\\{([^\\}]+)\\}", Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(input); PathFormat.currentDate = new Date(); StringBuffer sb = new StringBuffer(); while ( matcher.find() ) { matcher.appendReplacement(sb, PathFormat.getString(matcher.group(1)) ); } matcher.appendTail(sb); return sb.toString(); }
/** * 下划线转驼峰 * @param str * @return */ public static String lineToHump(String str) { if (null == str || "".equals(str)) { return str; } str = str.toLowerCase(); Matcher matcher = linePattern.matcher(str); StringBuffer sb = new StringBuffer(); while (matcher.find()) { matcher.appendReplacement(sb, matcher.group(1).toUpperCase()); } matcher.appendTail(sb); str = sb.toString(); str = str.substring(0, 1).toUpperCase() + str.substring(1); return str; }
StringBuffer resultString = new StringBuffer(); Pattern regex = Pattern.compile("regex"); Matcher regexMatcher = regex.matcher(subjectString); while (regexMatcher.find()) { // You can vary the replacement text for each match on-the-fly regexMatcher.appendReplacement(resultString, "replacement"); } regexMatcher.appendTail(resultString);
private String escapeComments(final String s) { final Matcher m = P_COMMENTS.matcher(s); final StringBuffer buf = new StringBuffer(); if (m.find()) { final String match = m.group(1); //(.*?) m.appendReplacement(buf, Matcher.quoteReplacement("<!--" + htmlSpecialChars(match) + "-->")); } m.appendTail(buf); return buf.toString(); }
private static String replaceVariableReferences( String string, Map<String, String> variableDefinitions) { Matcher matcher = REGEX_VARIABLE_REFERENCE.matcher(string); // TODO: Replace StringBuffer with StringBuilder once Java 9 is available. StringBuffer stringWithReplacements = new StringBuffer(); while (matcher.find()) { String groupName = matcher.group(1); if (variableDefinitions.containsKey(groupName)) { matcher.appendReplacement( stringWithReplacements, Matcher.quoteReplacement(variableDefinitions.get(groupName))); } else { // The variable is not defined. The value is ignored. } } matcher.appendTail(stringWithReplacements); return stringWithReplacements.toString(); }
private String escapeComments(final String s) { final Matcher m = P_COMMENTS.matcher(s); final StringBuffer buf = new StringBuffer(); if (m.find()) { final String match = m.group(1); //(.*?) m.appendReplacement(buf, Matcher.quoteReplacement("<!--" + htmlSpecialChars(match) + "-->")); } m.appendTail(buf); return buf.toString(); }
public static String manageAmpDiese(String s) { final Pattern pattern = Pattern.compile("\\&#([0-9]+);"); final Matcher matcher = pattern.matcher(s); final StringBuffer result = new StringBuffer(); while (matcher.find()) { final String num = matcher.group(1); final char c = (char) Integer.parseInt(num); matcher.appendReplacement(result, "" + c); } matcher.appendTail(result); return result.toString(); }
public static String unicodeDecode(String s) { Matcher m = reUnicode.matcher(s); StringBuffer sb = new StringBuffer(s.length()); while (m.find()) { m.appendReplacement(sb, Character.toString((char) Integer.parseInt(m.group(1), 16))); } m.appendTail(sb); return sb.toString(); }
public static String manageUnicodeNotationUplus(String s) { final Pattern pattern = Pattern.compile("\\<U\\+([0-9a-fA-F]{4,5})\\>"); final Matcher matcher = pattern.matcher(s); final StringBuffer result = new StringBuffer(); while (matcher.find()) { final String num = matcher.group(1); final int value = Integer.parseInt(num, 16); matcher.appendReplacement(result, new String(Character.toChars(value))); } matcher.appendTail(result); return result.toString(); }
Map<String,String> tokens = new HashMap<String,String>(); tokens.put("cat", "Garfield"); tokens.put("beverage", "coffee"); String template = "%cat% really needs some %beverage%."; // Create pattern of the format "%(cat|beverage)%" String patternString = "%(" + StringUtils.join(tokens.keySet(), "|") + ")%"; Pattern pattern = Pattern.compile(patternString); Matcher matcher = pattern.matcher(template); StringBuffer sb = new StringBuffer(); while(matcher.find()) { matcher.appendReplacement(sb, tokens.get(matcher.group(1))); } matcher.appendTail(sb); System.out.println(sb.toString());
private String getEmotion(String var1) { Pattern var2 = Pattern.compile("\\[/u([0-9A-Fa-f]+)\\]"); Matcher var3 = var2.matcher(var1); StringBuffer var4 = new StringBuffer(); while (var3.find()) { int var5 = Integer.parseInt(var3.group(1), 16); var3.appendReplacement(var4, String.valueOf(Character.toChars(var5))); } var3.appendTail(var4); return var4.toString(); }
private String getEmotion(String var1) { Pattern var2 = Pattern.compile("\\[/u([0-9A-Fa-f]+)\\]"); Matcher var3 = var2.matcher(var1); StringBuffer var4 = new StringBuffer(); while (var3.find()) { int var5 = Integer.parseInt(var3.group(1), 16); var3.appendReplacement(var4, String.valueOf(Character.toChars(var5))); } var3.appendTail(var4); return var4.toString(); }
private String escapeComments(final String s) { final Matcher m = P_COMMENTS.matcher(s); final StringBuffer buf = new StringBuffer(); if (m.find()) { final String match = m.group(1); // (.*?) m.appendReplacement(buf, Matcher.quoteReplacement("<!--" + htmlSpecialChars(match) + "-->")); } m.appendTail(buf); return buf.toString(); }
private String escapeComments(final String s) { final Matcher m = P_COMMENTS.matcher(s); final StringBuffer buf = new StringBuffer(); if (m.find()) { final String match = m.group(1); // (.*?) m.appendReplacement(buf, Matcher.quoteReplacement("<!--" + htmlSpecialChars(match) + "-->")); } m.appendTail(buf); return buf.toString(); }
private String validateEntities(final String s) { StringBuffer buf = new StringBuffer(); // validate entities throughout the string Matcher m = P_VALID_ENTITIES.matcher(s); while (m.find()) { final String one = m.group(1); //([^&;]*) final String two = m.group(2); //(?=(;|&|$)) m.appendReplacement(buf, Matcher.quoteReplacement(checkEntity(one, two))); } m.appendTail(buf); return encodeQuotes(buf.toString()); }
private String validateEntities(final String s) { StringBuffer buf = new StringBuffer(); // validate entities throughout the string Matcher m = P_VALID_ENTITIES.matcher(s); while (m.find()) { final String one = m.group(1); //([^&;]*) final String two = m.group(2); //(?=(;|&|$)) m.appendReplacement(buf, Matcher.quoteReplacement(checkEntity(one, two))); } m.appendTail(buf); return encodeQuotes(buf.toString()); }
Pattern p = Pattern.compile("cat"); Matcher m = p.matcher("one cat two cats in the yard"); StringBuffer sb = new StringBuffer(); while (m.find()) { m.appendReplacement(sb, "dog"); } m.appendTail(sb); System.out.println(sb.toString());