概述
字符串的下划线命名和驼峰命名转换
java
/**
* 将驼峰式命名的字符串转换为下划线大写方式。如果转换前的驼峰式命名的字符串为空,则返回空字符串。</br>
* 例如:HelloWorld->HELLO_WORLD
* @param name 转换前的驼峰式命名的字符串
* @return 转换后下划线大写方式命名的字符串
*/
publicstatic String underscoreName(String name) {
StringBuilder result = newStringBuilder();
if(name != null&& name.length() > 0) {
// 将第一个字符处理成大写
result.append(name.substring(0,1).toUpperCase());
// 循环处理其余字符
for(inti = 1; i < name.length(); i++) {
String s = name.substring(i, i + 1);
// 在大写字母前添加下划线
if(s.equals(s.toUpperCase()) && !Character.isDigit(s.charAt(0))) {
result.append("_");
}
// 其他字符直接转成大写
result.append(s.toUpperCase());
}
}
returnresult.toString();
}
C++
#pragma comment(linker, "/STACK:1024000000,1024000000")
#include <algorithm>
#include <bitset>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <string>
#include <cctype>
#include <fstream>
#define INF 0x3f3f3f3f
#define EPS 1e-24
using namespace std;
typedef long long ll;
const ll Mod = 1e9 + 7;
int main(){
std::ios::sync_with_stdio(false);
std::cin.tie(0);
int n;
while(cin>>n){
for(int i=0;i<n;i++){
string s;
cin>>s;
if(s.find('_')!=string::npos){
int pos = s.find('_');
s.erase(pos,1);
s[pos] = toupper(s[pos]);
}
else{
int pos;
for(int j=0;j<s.size();j++){
if(s[j] > 'A' && s[j] < 'Z'){
pos = j;
break;
}
}
s.insert(pos,"_");
s[pos+1] = tolower(s[pos+1]);
}
cout<< s <<endl;
}
}
return 0;
}
最后
以上就是雪白老虎为你收集整理的字符串的下划线命名和驼峰命名转换的全部内容,希望文章能够帮你解决字符串的下划线命名和驼峰命名转换所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复