使用php、js或者其他语言实现字符串 'AdminProTable' 到 'admin_pro_

使用php、js或者其他语言实现字符串 'AdminProTable' 到 'admin_pro_table' 的转换

如题,不限制单词个数


慕田峪7331174
浏览 453回答 1
1回答

红糖糍粑

语言不同,思路相同,都是对字符串进行循环,如果当期字符为大写,那么就转小写该字符并且在前面拼接_字符,最后检查字符串是否以_开头,如果是就去掉最前面的_字符,也可以像第一个例子在循环的时候判断如果是第一个字符大写那么就不在字符前面拼接_字符JSvar old = 'AdminProTable';var str = '';for (key in old) {&nbsp; &nbsp; if (old[key].match(/^.*[A-Z]+.*$/)) {&nbsp; &nbsp; str += key != 0 ? '_' : '' + old[key].toLocaleLowerCase();&nbsp; } else {&nbsp; &nbsp; &nbsp; str += old[key];&nbsp; }}console.log(str);运行结果PHP<?php$old = 'AdminProTable';$str = '';for ($i = 0; $i < strlen($old);&nbsp; $i++) {&nbsp; &nbsp; $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:&nbsp; &nbsp; #print o.isupper()&nbsp; &nbsp; str +=&nbsp; '_' + o.lower() if o.isupper() else o.lower()str = str[1:] if str.startswith('_') else str&nbsp; &nbsp;print str运行结果
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript