Explode a string on upper case characters?

前端 未结 4 892
不知归路
不知归路 2020-12-15 08:04

Ho can i explode $param string into $chunks pieces based on upper-case characters?

$string = \'setIfUnmodifiedSince\';
$method = su         


        
相关标签:
4条回答
  • 2020-12-15 08:46

    If you wish to convert string with lover case you can @jensgram's code, where I have changed hyphen (-) to underscore (_)

    strtolower(preg_replace('/(?<!^)([A-Z])/', '_\\1', $param));
    

    as I was looking for.

    0 讨论(0)
  • 2020-12-15 08:56
    function splitAtUpperCase($string){
        return preg_replace('/([a-z0-9])?([A-Z])/','$1-$2',$string);
    }
    
    $string = 'setIfUnmodifiedSince';
    echo splitAtUpperCase($string);
    
    0 讨论(0)
  • 2020-12-15 09:04

    Using preg_split() on [A-Z] should do:

    function splitAtUpperCase($s) {
            return preg_split('/(?=[A-Z])/', $s, -1, PREG_SPLIT_NO_EMPTY);
    }
    

    EDIT
    If you don't need the array itself, you can just preprend uppercase characters (except the first) with a hyphen (-):

    preg_replace('/(?<!^)([A-Z])/', '-\\1', $param);
    

    (demo)

    0 讨论(0)
  • 2020-12-15 09:04
    $chunks = preg_split('/(?=[A-Z])/', $string);
    
    0 讨论(0)
提交回复
热议问题