精华内容
下载资源
问答
  • 驼峰字符串

    2017-08-14 11:38:29
    package stringTest; public class HumpStr {    public static void main(String[] arags){  String str1 = "ABCD_EFGH";  System.out.println(toLower(str1));  System.out.pr
    package stringTest;

    public class HumpStr {
        
        public static void main(String[] arags){
            String str1 = "ABCD_EFGH";
            System.out.println(toLower(str1));
            System.out.println(toHumpStr(toLower(str1),"_"));
            
        }
        
        public static String toLower(String str){
            return str.toLowerCase();
        }
        
        public static String toUpper(String str){
            return str.toUpperCase();
        }
        
        public static String toHumpStr(String str,String flag){
            String[] strs = str.split(flag);
            StringBuilder sb = new StringBuilder();
            sb.append(strs[0]);
            for(int i=1; i<strs.length; i++){
                char[] temp = strs[i].toCharArray();
                temp[0] -= 32;
                sb.append(String.valueOf(temp));
            }
            return sb.toString();
        }

    }

    展开全文
  • 下划线式转化为驼峰字符串 /** * 下划线转驼峰 字符串转化函数 _make_by_id_ => MakeById * * @param $str * * @return string $str string 输出转化后的字符串 */ function underLineToHump($str){ $str = ...

    下划线式转化为驼峰字符串
     
    /**
     * 下划线转驼峰 字符串转化函数 _make_by_id_ => MakeById
     *
     * @param $str
     *
     * @return string $str string 输出转化后的字符串
     */
    function underLineToHump($str){
            $str = trim($str,'_');//去除前后下划线_
            $len = strlen($str);
            $out = strtoupper($str[0]);
            for ($i=1; $i<$len; $i++) {
                if(ord($str[$i]) == ord('_')){//如果当前是下划线,去除,并且下一位大写
                    $out .= isset($str[$i+1])?strtoupper($str[$i+1]):'';
                    $i++;
                }else{
                    $out .= $str[$i];
                }
            }
            return $out;
    }
     
     
    驼峰式转化为下划线字符串
    /**
     * 驼峰转下划线 字符串函数 MakeById => make_by_id
     * @param $str
     *
     * @return string
     */
    function humpToUnderLine($str)
    {
        $len = strlen($str);
        $out = strtolower($str[0]);
        for ($i=1; $i<$len; $i++) {
            if(ord($str[$i]) >= ord('A') && (ord($str[$i]) <= ord('Z'))) {
                $out .= '_'.strtolower($str[$i]);
            }else{
                $out .= $str[$i];
            }
        }
        return $out;
    }
     
    利用正则来实现
    /**
     * 驼峰式 与 下划线式 转化
     * @param string $str  字符串
     * @param string $mode 转化方法 hump驼峰|line下划线
     *
     * @return mixed|null|string|string[]
     */
    function pregConvertString($str,$mode='hump'){
        if(empty($str)){
            return '';
        }
        switch ($mode){
            case 'hump'://下划线转驼峰
                $str    = preg_replace_callback('/[-_]+([a-z]{1})/',function($matches){
                    return strtoupper($matches[1]);
                },$str);
                $str    = ucfirst($str);//首字母大写
                break;
            case 'line'://驼峰转下划线
                $str = str_replace("_", "", $str);
                $str = preg_replace_callback('/([A-Z]{1})/',function($matches){
                    return '_'.strtolower($matches[0]);
                },$str);
                $str = trim($str,'_');
                break;
            default:
                echo 'mode is error!';
        }
        return $str;
    }
     
    输出结果

    $str = 'make_by_id';
    echo pregConvertString($str,'hump'),"\n";
    echo underLineToHump($str),"\n";
    $str = 'MakeById';
    echo pregConvertString('MakeById','line'),"\n";
    echo humpToUnderLine($str),"\n";
     
    /*
    MakeById
    MakeById
    make_by_id
    make_by_id
    *

    展开全文
  • 我们经常会有驼峰字符串与下划线字符串相互转化的需求, 而且这个还不好之间用正则替换。 比如:db 表中命名风格通常为下划线风格, web应用pojo中通常有时驼峰风格。 如果字段太多,总觉得很麻烦 实现: cm2us.py...

    博客主页:http://blog.csdn.net/minna_d


    起因:

    我们经常会有驼峰字符串与下划线字符串相互转化的需求, 而且这个还不好之间用正则替换。

    比如:db 表中命名风格通常为下划线风格, web应用pojo中通常有时驼峰风格。 如果字段太多,总觉得很麻烦

    实现:

    cm2us.py:

    #!/bin/python
    import re
    import sys
    
    
    def camelToUnderlines(x):
        return re.sub('_([a-z])', lambda match: match.group(1).upper(), x)
    
    
    def underlinesToCamel(x):
        return re.sub('([a-zA-Z])([A-Z])', lambda match: match.group(1).lower() + "_" + match.group(2).lower(), x)
    
    
    def transStr(file_path, cmToUs_or_usToCm):
        f = open(file_path, 'r')
        if cmToUs_or_usToCm == 'cmToUs':
            for line in f.readlines():
                print camelToUnderlines(line.strip())
        elif cmToUs_or_usToCm == 'usToCm':
            for line in f.readlines():
                print underlinesToCamel(line.strip())
        f.close()
    
    if __name__ == '__main__':
        style = 'usToCm' if sys.argv[2]=="0" else 'cmToUs'
        transStr(sys.argv[1], style)

    cm2us.sh:

    #!/bin/bash
    case $1 in
        /*)
            file_origin=$1
            file_bak=`echo $1 | sed 's/^\/.*\/\(.*\)/\/tmp\/\1/g' `;;
        *)
            file_origin=`pwd`"/"$1
            file_bak="/tmp/$1";;
    esac
    read -p "please input a number , 0 represent camelToUnderline, else represent underlineToCamel :"  nu
    echo $file_origin
    echo $file_bak
    echo $nu
    cp $file_origin /tmp/
    python /shell/python/cm2us.py $file_bak $nu > $file_origin

    使用方式:示例


    [root@jjy ~/q/data/tmp_data]# cm2us.sh date
    please input a number , 0 represent camelToUnderline, else represent underlineToCamel :1
    [root@jjy ~/q/data/tmp_data]# cat date
    private String id;
    private String wrapperId;
    private String cityCode;
    private String clstdCheckedCnt;
    private String clstdNeedcheckCnt;
    private String notClstdCnt;
    private String deleteCnt;
    private String manualCheckCnt;
    private String clstdCheckedOnCnt;
    private String clstdCheckedDelCnt;
    private String clstdCheckedCleanCnt;
    private String abnormalNeedcheckCnt;
    private String hasPriceNeedcheckCnt;
    [root@jjy ~/q/data/tmp_data]# cm2us.sh date
    please input a number , 0 represent camelToUnderline, else represent underlineToCamel :0
    [root@jjy ~/q/data/tmp_data]# cat date
    private String id;
    private String wrapper_id;
    private String city_code;
    private String clstd_checked_cnt;
    private String clstd_needcheck_cnt;
    private String not_clstd_cnt;
    private String delete_cnt;
    private String manual_check_cnt;
    private String clstd_checked_on_cnt;
    private String clstd_checked_del_cnt;
    private String clstd_checked_clean_cnt;
    private String abnormal_needcheck_cnt;
    private String has_price_needcheck_cnt;
    [root@jjy ~/q/data/tmp_data]# cm2us.sh date
    please input a number , 0 represent camelToUnderline, else represent underlineToCamel :1
    [root@jjy ~/q/data/tmp_data]# cat date
    private String id;
    private String wrapperId;
    private String cityCode;
    private String clstdCheckedCnt;
    private String clstdNeedcheckCnt;
    private String notClstdCnt;
    private String deleteCnt;
    private String manualCheckCnt;
    private String clstdCheckedOnCnt;
    private String clstdCheckedDelCnt;
    private String clstdCheckedCleanCnt;
    private String abnormalNeedcheckCnt;
    private String hasPriceNeedcheckCnt;

    展开全文
  • 方法一(较好): ...原字符串转小写,原字符串中的分隔符用空格替换,在字符串开头加上分隔符 //step2.将字符串中每个单词的首字母转换为大写,再去空格,去字符串首部附加的分隔符. function camel...

     转载自  https://blog.csdn.net/tudanlaibanzhuan/article/details/78931755

    方法一(较好):

    //下划线转驼峰
    //思路:
    //step1.原字符串转小写,原字符串中的分隔符用空格替换,在字符串开头加上分隔符
    //step2.将字符串中每个单词的首字母转换为大写,再去空格,去字符串首部附加的分隔符.
    function camelize($uncamelized_words,$separator='_')
        {
            $uncamelized_words = $separator. str_replace($separator, " ", strtolower($uncamelized_words));
            return ltrim(str_replace(" ", "", ucwords($uncamelized_words)), $separator );
        }

     

    //驼峰命名转下划线命名
    //思路:
    //小写和大写紧挨一起的地方,加上分隔符,然后全部转小写
     function uncamelize($camelCaps,$separator='_')
        {
            return strtolower(preg_replace('/([a-z])([A-Z])/', "$1" . $separator . "$2", $camelCaps));
        }

    方法二

    //驼峰命名转下划线命名
    function toUnderScore($str)
        {
            $dstr = preg_replace_callback('/([A-Z]+)/',function($matchs)
            {
                return '_'.strtolower($matchs[0]);
            },$str);
            return trim(preg_replace('/_{2,}/','_',$dstr),'_');
        }

     

    //下划线命名到驼峰命名
     function toCamelCase($str)
        {
            $array = explode('_', $str);
            $result = $array[0];
            $len=count($array);
            if($len>1)
            {
                for($i=1;$i<$len;$i++)
                {
                    $result.= ucfirst($array[$i]);
                }
            }
            return $result;
        }
        }</code>

     

    展开全文
  • 今天面试了一个腾讯微信后台,说了几句就说弄一个题做一下,结果一脸懵逼,给定字符串,去除其中的驼峰字符串(AaAdfAAaAaA–>dfA)。 说实话对于驼峰串这个定义就有点模糊,本来当时有点紧张,有时在牛客网上做...
  • 字符驼峰 第一种方法:使用正则匹配函数 let str = 'str-arr-test'; str = str.replace(/(\w*)-(\w*)/g, function ($1, $2, $3) { //console.log($2, $3); return $2 + $3[0].toUpperCase() + $3.slice(1);...
  • 蛇形字符串、驼峰字符串转换

    千次阅读 2016-12-19 11:42:42
    转换为蛇形字符串,例如: XxYy to xx_yy , XxYY to xx_yy func snakeString(s string) string { data := make([]byte, 0, len(s)*2) j := false num := len(s) for i := 0; i ; i++ { d := s[i]
  • 原标题:史上最全python字符串操作指南字符串的定义日常编码中,大家会发现,太多时候我们需要对数据进行处理,而这数据不管是数组、列表、字典,最终都逃不开字符串的处理。所以今天要来跟大家发散的聊聊 字符串!...
  • 一:实现代码: var camelizeRE = /-(\w)/g; ...function camelize(str){  return str.replace...查看第三个案例,既然能拿到_y和y两个值就能实现将 “连字符字符串” 转化为 “驼峰命名字符串”  
  • // 驼峰字符串转换成下划线样式 $str = 'openAPI'; echo $str."<BR>"; echo strtolower(preg_replace('/((?<=[a-z])(?=[A-Z]))/', '_', $str)).'<br>';//open_ap 正则表达式补充: ?: 不想被...
  • 数据结构--驼峰字符串问题

    千次阅读 2019-08-13 23:10:15
    给定一个驼峰样式的字符串例如“AaABbBcBbcvQv…”->“bc”,两个一样的字符夹着一个不一样的字符, 处理这个字符串去掉所有的驼峰。 public static void main(String [] args) { Scanner in = new Scanner...
  • import org.junit.Test; public class solution {  @Test ... //把字符串数组再合并成String驼峰字符串  String res="";  for(String string:strArr){  res+=string;  }    return res;  }   }
  • Document var str='border-bottom-color'; function test(str){ var arr=str.split('-');//返回[border,bottom,color]数组 for(var i=1;i;i++){ arr[i]=arr[i].charAt(0).toUpperCase() +arr[i].s
  • 将大驼峰字符串添加间隔符并转换为小写,也就是转换为连字符 str:传递过来的原字符,splitStr:间隔符,默认是 '-' */ let humpToHyphen = function(str='',splitStr='-'){ if(str == ''){ // 字符串是空的 ...
  • 驼峰字符串转下划线字符串小工具

    千次阅读 2014-11-24 18:36:58
    HelloWorld-->hello_world 不废话 import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Created by albert.bai on 2014/11/24. */ public class TestMatcher { public static String cam
  • 驼峰字符串删除

    千次阅读 2015-07-20 11:00:44
    #include #include int main() {  char buffer[80];  strcpy(buffer,"aelelo ");  strcat(buffer,"world");  for(int i=0;buffer[i]!='\0';i++){  if(buffer[i+2]=='\0'){  printf("ok");
  • 实现代码: var hyphenateRE = /\B([A-Z])/g; var hyphenate = function (str) { ... return str.replace(hyphenateRE, '-$1')....replace方法的第二个参数为字符串时,$1可以表示正则表达式组匹配的内容
  • Java 驼峰字符串转下划线连接

    千次阅读 2017-12-21 18:36:10
    代码: @Test public void test8() { String str = "userLevelAndAge"; String res = String.join("_", Stream.of(str.replaceAll("([A-Z])", ",$1")
  • PHP面试题之驼峰字符串转换成下划线样式例子,驼峰下划线自己在看到这个问题的时候,想到的是用ASCII码来处理,没往万能的正则上去想。好吧,下面来看看答案:答案1:代码如下$str = 'OpenAPI';$length = mb_strlen...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,464
精华内容 585
关键字:

驼峰字符串