zoukankan      html  css  js  c++  java
  • 将驼峰写法的单词转换为下划线分割的单词

    直接上代码:

    时间复杂度为O(1)的算法

     1 public static String convert(String humpWords) {
     2         // 初始化过滤的字符 start
     3         char[] fiterCharArray = "abcdefghigklmnopqrstuvwxyz.0123456789".toCharArray();
     4         Arrays.sort(fiterCharArray);
     5         // 初始化过滤的字符 end
     6 
     7         // 初始化要反回的char数组,双倍长度,因为要以下划线分割,所以长度必须大于原字符串长度,这里取双倍,确保够用
     8         char[] ch = new char[humpWords.length() * 2];
     9 
    10         for (int i = 0, j = 0; i < humpWords.length(); i++, j++) {
    11             if (Arrays.binarySearch(fiterCharArray, humpWords.charAt(i)) > -1) {
    12                 ch[j] = (char) (humpWords.charAt(i));// 在声明的过滤字符数组里面的字符直接赋值
    13             } else {
    14                 ch[j] = '_';
    15                 ch[j + 1] = (char) (humpWords.charAt(i) + ' ');// 不在声明的过滤字符数组里面的字符则认为该字符是大写字符,大写字符先添加下划线,再将字符加上空格转为小写赋值
    16                 j++;
    17             }
    18         }
    19         return new String(ch).trim();
    20     }
  • 相关阅读:
    Park Visit
    1894: 985的方格难题
    985的数字难题
    Highways
    最短路
    SQL内容补充
    8.前端资源优化
    7.CSRF攻击和文件上传漏洞攻击
    6.XSS攻击方式及防御措施
    5.避免重复提交表单
  • 原文地址:https://www.cnblogs.com/swtjavaspace/p/6500536.html
Copyright © 2011-2022 走看看