博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java驼峰转下划线,下划线转驼峰
阅读量:4137 次
发布时间:2019-05-25

本文共 1414 字,大约阅读时间需要 4 分钟。

package com.starry.test;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Test {	public static void main(String[] args) {				String str1 = "FermQASDASDSALove";//带下划线的字符串		StringBuffer sbf = new StringBuffer(str1);//首先先转换成小写		StringBuffer sb = underline(sbf);		System.out.println(sb);		}		/**	 * 下划线转驼峰	 * @param str	 * @return	 */	public static StringBuffer camel(StringBuffer str) {		//利用正则删除下划线,把下划线后一位改成大写		Pattern pattern = Pattern.compile("_(\\w)");		Matcher matcher = pattern.matcher(str);		StringBuffer sb = new StringBuffer(str);		if(matcher.find()) {			sb = new StringBuffer();			//将当前匹配子串替换为指定字符串,并且将替换后的子串以及其之前到上次匹配子串之后的字符串段添加到一个StringBuffer对象里。			//正则之前的字符和被替换的字符			matcher.appendReplacement(sb, matcher.group(1).toUpperCase());			//把之后的也添加到StringBuffer对象里			matcher.appendTail(sb);					}else {			return sb;		}			return camel(sb);	}			/**	 * 驼峰转下划线	 * @param str	 * @return	 */	public static StringBuffer underline(StringBuffer str) {		Pattern pattern = Pattern.compile("[A-Z]");		Matcher matcher = pattern.matcher(str);		StringBuffer sb = new StringBuffer(str);		if(matcher.find()) {			sb = new StringBuffer();			//将当前匹配子串替换为指定字符串,并且将替换后的子串以及其之前到上次匹配子串之后的字符串段添加到一个StringBuffer对象里。			//正则之前的字符和被替换的字符			matcher.appendReplacement(sb,"_"+matcher.group(0).toLowerCase());			//把之后的也添加到StringBuffer对象里			matcher.appendTail(sb);					}else {			return sb;		}			return underline(sb);	}}

转载地址:http://opxvi.baihongyu.com/

你可能感兴趣的文章
How to make SD Card world wide writable
查看>>
Detecting Memory Leaks in Kernel
查看>>
Linux initial RAM disk (initrd) overview
查看>>
HOWTO: Booting from SD card using U-Boot
查看>>
HOWTO: Booting from SD card using U-Boot
查看>>
Timestamping Linux kernel printk output in dmesg for fun and profit
查看>>
file lock in the Linux system
查看>>
Increase the android VM heap size.
查看>>
A successful Git branching model
查看>>
Use ADB to connect phone with Windows 7 over tcp
查看>>
The Four-Way Handshake
查看>>
802.11 Authentication and Association
查看>>
Open System authentication
查看>>
Wireless Operating Modes
查看>>
Wifi Connection
查看>>
802.11 Scan and Discovery
查看>>
RTS/CTS协议 (Both wlan and com are using it)
查看>>
Wireless Ad-Hoc Network – Linux
查看>>
802.11ac and 802.11ad
查看>>
IEEE 802 LAN/MAN Standards Committee
查看>>