亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用php、js或者其他語言實現字符串 'AdminProTable' 到 'admin_pro_

使用php、js或者其他語言實現字符串 'AdminProTable' 到 'admin_pro_

慕田峪7331174 2018-12-14 15:23:14
使用php、js或者其他語言實現字符串 'AdminProTable' 到 'admin_pro_table' 的轉換如題,不限制單詞個數
查看完整描述

1 回答

?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

語言不同,思路相同,都是對字符串進行循環,如果當期字符為大寫,那么就轉小寫該字符并且在前面拼接_字符,最后檢查字符串是否以_開頭,如果是就去掉最前面的_字符,也可以像第一個例子在循環的時候判斷如果是第一個字符大寫那么就不在字符前面拼接_字符


JS

var old = 'AdminProTable';

var str = '';

for (key in old) {

    if (old[key].match(/^.*[A-Z]+.*$/)) {

    str += key != 0 ? '_' : '' + old[key].toLocaleLowerCase();

  } else {

      str += old[key];

  }

}

console.log(str);

運行結果


PHP

<?php

$old = 'AdminProTable';

$str = '';

for ($i = 0; $i < strlen($old);  $i++) {

    $str .= preg_match('/^[A-Z]+$/', $old[$i]) ? '_' . strtolower($old[$i]) : $old[$i];

}

$str = $str[0] === '_' ? substr($str, 1) : $str;

var_dump($str);

?>

運行結果


Python

#!/usr/bin/python

# -*- coding: utf-8 -*-

old = 'AdminProTable'

str = ''

for o in old:

    #print o.isupper()

    str +=  '_' + o.lower() if o.isupper() else o.lower()

str = str[1:] if str.startswith('_') else str   

print str

運行結果


查看完整回答
反對 回復 2019-01-07
  • 1 回答
  • 0 關注
  • 462 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號