首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将一个字符串的大写化应用于另一个字符串

将一个字符串的大写化应用于另一个字符串
EN

Code Review用户
提问于 2018-07-20 23:57:38
回答 2查看 61关注 0票数 2

我想取一个字符串的大写并将其应用于另一个字符串。

例如:以Appleorange为例,将其转换为Orange

这是我实现的解决方案。有没有更有效的方法来做到这一点?

代码语言:javascript
复制
public static String applyCapitalization(String to, String from) {
    int[] capArray = toCapitalizationArray(to);
    char[] charCap = from.toCharArray();
    for (int i = 0; i < capArray.length; i++) {
        if (capArray[i] == 1) {
            charCap[i] = Character.toUpperCase(charCap[i]);
        } else {
            charCap[i] = Character.toLowerCase(charCap[i]);
        }
    }
    return new String(charCap);
}
private static int[] toCapitalizationArray(String to) {
    int[] arr = new int[to.length()];
    for (int i = 0; i < to.length(); i++) {
        char c = to.toCharArray()[i];
        if (Character.isUpperCase(c)) {
            arr[i] = 1;
        } else {
            arr[i] = 0;
        }
    }
    return arr;
}
EN

回答 2

Code Review用户

回答已采纳

发布于 2018-07-21 08:18:38

我们可以用一次遍历而不是两次遍历来完成这个任务。

代码语言:javascript
复制
for (int i = 0; i < min(apple.length(),orange.length()); i++) {
    if (Character.isUpperCase(apple.toCharArray()[i]) &&
        Character.isLowercase(oranger.toCharArray()[i])){
           orange[i] = Character.toUppercase(oranger.toCharArray()[i]);
    }elseif(Character.isLowerCase(apple.toCharArray()[i]) && 
            Character.isUppercase(oranger.toCharArray()[i])){
           orange[i] = Character.toLowercase(oranger.toCharArray()[i]);
    }
}
票数 3
EN

Code Review用户

发布于 2018-07-21 12:24:23

例如:拿苹果和橘子,把它变成橙色。

我不明白这句话

但是,如果要将任何字符串大写,则只需使用字符串类的替换函数即可。

代码语言:javascript
复制
    public static String capitalize(String word){
    String capitalizedString = null;
    if (word != null && word.getClass() == String.class) {
            try {
             capitalizedString = word.replace(String.valueOf(word.charAt(0)), 
                              String.valueOf(word.toUpperCase().charAt(0)));
            } catch  (Exception exc) {
            System.out.print(exc);
          }
        }
       return capitalizedString;
     }
票数 0
EN
页面原文内容由Code Review提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codereview.stackexchange.com/questions/199958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档