駝峰命名法(CamelCase)和下劃線風格(UnderScoreCase)字串之間的轉換工具類
轉自:http://www.oschina.net/code/snippet_870897_19481public class CamelCaseUtils { private static final char SEPARATOR = '_'; public static String toUnderlineName(String s) { if (s == null) { return null; } StringBuilder sb = new StringBuilder(); boolean upperCase = false; for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); boolean nextUpperCase = true; if (i < (s.length() - 1)) { nextUpperCase = Character.isUpperCase(s.charAt(i + 1)); } if ((i >= 0) && Character.isUpperCase(c)) { if (!upperCase || !nextUpperCase) { if (i > 0) sb.append(SEPARATOR); } upperCase = true; } else { upperCase = false; } sb.append(Character.toLowerCase(c)); } return sb.toString(); } public static String toCamelCase(String s) { if (s == null) { return null; } s = s.toLowerCase(); StringBuilder sb = new StringBuilder(s.length()); boolean upperCase = false; for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); if (c == SEPARATOR) { upperCase = true; } else if (upperCase) { sb.append(Character.toUpperCase(c)); upperCase = false; } else { sb.append(c); } } return sb.toString(); } public static String toCapitalizeCamelCase(String s) { if (s == null) { return null; } s = toCamelCase(s); return s.substring(0, 1).toUpperCase() + s.substring(1); } public static void main(String[] args) { System.out.println(CamelCaseUtils.toUnderlineName("ISOCertifiedStaff")); System.out.println(CamelCaseUtils.toUnderlineName("CertifiedStaff")); System.out.println(CamelCaseUtils.toUnderlineName("UserID")); System.out.println(CamelCaseUtils.toCamelCase("iso_certified_staff")); System.out.println(CamelCaseUtils.toCamelCase("certified_staff")); System.out.println(CamelCaseUtils.toCamelCase("user_id")); } }
相關推薦
駝峰命名法(CamelCase)和下劃線風格(UnderScoreCase)字串之間的轉換工具類
public class CamelCaseUtils { private static final char SEPARATOR = '_'; public static String toUnderlineName(String s) {
駝峰命名法(CamelCase)和下劃線命名法(UnderScoreCase)字元之間的轉換
使用Guava CaseFormat類進行轉換 CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE,“ClassName”)-->class_name CaseFormat.LOWER_UNDERSCORE.to
駝峰命名法和下劃線風格的互轉
下劃線轉駝峰比較簡單,直接根據下劃線打散成陣列,每個子項首字元轉大寫,再做字串拼接即可。 駝峰轉下劃線風格,稍微複雜一些。剛開始我沒有思路,後來想到,可以遍歷字串,遇到大寫字母將其轉換成小寫,並在
駝峰命名和下劃線命名互轉php實現
res rst 命名 turn case rds rto step class 駝峰命名和下劃線命名經常需要互轉,下面提供兩種php的實現方式.第一種方法效率相對差一些,實現方式如下: //駝峰命名轉下劃線命名 function toUnderScore($str
Java駝峰命名和下劃線命名轉換
import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 駝峰命名轉換 * * @author 47475 * */ public class Tool { private static Patte
駝峰命名法和模態對話框
命名法 script 編寫 數組去重 第一個 class length window camel 模態對話框 window.showModalDialog("url","向目標對話框傳的值","窗口特征參數") 打開模態對話框 模態對話框必須關掉才能對後端操作。
大駝峰命名法和小駝峰命名法的區別
天才 理解 color 小寫 一個 駝峰命名 nbsp round 大寫 之前一直知道有駝峰命名法,今天才知道駝峰命名法還分大駝峰和小駝峰,現將二者區別說一下: 1.大駝峰,每一個單詞的首字母都大寫,例如:AnamialZoo,JavaScript
Python:字串下劃線風格轉駝峰風格
#!/usr/bin/env python # coding:UTF-8 """ @version: python3.x @author:曹新健 @contact: [email protected] @software: PyCharm @file: 下劃線風格轉駝峰風格.py @t
大駝峰命名法和小駝峰命名法
前言 我們在做專案的時候,命名格式必須統一,這樣才會方便不同人之間的編碼閱讀!,所以今天就來說一下駝峰命名法! 駱峰式命名法(Camel-Case)是電腦程式編寫時的一套命名規則(慣例)。 駱峰式命名法就是當變數名或函式名是由一個或多個單字連結在一起,而構成的唯一識別字時
駝峰,連線符,下劃線命名等互相轉換 CaseFormat.LOWER_CAME等
1 jar: guava-r05.jar 2 String orderColumn = "orderColumn"; //輸入是LOWER_CAMEL,輸出是LOWER_UNDERSCORE orderColumn = CaseForm
駝峰和下劃線命令轉換
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Camel_UnderlineConverter { public static String camel4und
命名更改小結:下劃線轉駝峰,或駝峰轉下劃線
1、下劃線轉駝峰 const toCamel = str =>str.replace(/([^_])(?:_+([^_]))/g, (_,p1, p2)=>p1+p2.toUpperCas
java 駝峰和下劃線互轉
public class Tool{ private static Pattern linePattern = Pattern.compile(“_(\w)”); /*下劃線轉駝峰/ public stati
實體類轉map,駝峰屬性名稱轉換成下劃線風格
背景:因順豐快遞API的HTTP傳輸格式為JSON,且屬性為下劃線風格(如圖二),但JAVA實體類屬性名稱遵循了駝峰規範,故寫了一個工具類,作為轉換。 package com.imall.crm; import com.imall.crm.domain.Pre
springmvc配置MappingJackson2HttpMessageConverter實現屬性駝峰和下劃線的轉換
v需求 php呼叫java介面時,因為php那邊的屬性都是下劃線風格,java這邊的屬性都是駝峰的風格。配置springmvc的json轉換,在requestBody的時候(呼叫物件的set 方法)將java屬性name對映成下劃線形式 和 請求的引數匹配;在respo
jdk7的二進制整數和下劃線分隔符
int println pos alt string 技術 .com 技術分享 pre 1 //二進制整數: 2 public class TestBinaryNum{ 3 public static void main(String[] args) { 4
案例:用js實現字符串的駝峰命名法
命名法 orm 修改 UNC get 表示法 駝峰 transform tran <script> //需求:編寫一個函數,將如下字符串‘get-element-by-id‘修改為駝峰表示法‘getElementById‘ function tran
C語言中變數名及函式名的命名規則與駝峰命名法
一、C語言變數名的命名規則:(可以字母,數字,下劃線混合使用) 1. 只能以字母或下劃線開始;2. 不能以數字開始;3. 一般小寫;4. 關鍵字不允許用(eg:int float=2//error float 為保留字不允許用); 二、函式名的命名規則 1.見名知意;2.自定義函式函式名首字
C語言中變量名及函數名的命名規則與駝峰命名法
char 都是 this 表示 介紹 程序設計 代碼 必須 不同的 一、C語言變量名的命名規則:(可以字母,數字,下劃線混合使用) 1. 只能以字母或下劃線開始;2. 不能以數字開始;3. 一般小寫;4. 關鍵字不允許用(eg:int float=2//error fl
只能輸入英文數字和下劃線和橫線的正則表示式
var reg="^[A-Za-z0-9-_]+$" ; var regus = new RegExp(regs); regus.test("所要驗證的字串") true 符合 false 不符合 中英文