用大写字母替换“-”[关闭]
Posted
技术标签:
【中文标题】用大写字母替换“-”[关闭]【英文标题】:Replace "-" with capital Letters [closed] 【发布时间】:2013-06-07 11:07:06 【问题描述】:我想用eyesOfTiger 替换例如“eyes-of-tiger”,但我不知道确切的解决方案。
如何将“-”替换为大写字母?
【问题讨论】:
仔细查看String
类的方法。我相信它拥有这项任务所需的所有方法。
我认为您正在解决 spoj 问题?
【参考方案1】:
public class Test
public static void main(String[] args)
String input = "eye-of-tiger";
String modified = dashToUpperCase(input);
System.out.println(modified);
private static String dashToUpperCase(String input)
StringBuilder result = new StringBuilder();
boolean toUpper = false;
for (int i = 0; i < input.length(); i++)
char c = input.charAt(i);
if (c == '-')
toUpper = true;
else
result.append(toUpper ? Character.toUpperCase(c) : c);
toUpper = false;
return result.toString();
【讨论】:
我喜欢这个答案,因为它专注于替换'-'而不是在'-'处拆分字符串并重新制作字符串。 要改进它,您可以将“-”设置为动态字符来替换您想要的任何内容【参考方案2】:String str="eyes-of-tiger";
String[] strTokens = str.split("-");
str=strTokens[0];
for(int i=1;i<strTokens.length;i++)
str+= StringUtils.capitalize(strTokens[i]);
【讨论】:
【参考方案3】:public static void main(String[] args)
String coolSong = "eye-of-the-tiger";
String[] words = coolSong.split(("-"));
StringBuilder result = new StringBuilder();
result.append(words[0]);
for (int i = 1; i < words.length; i++)
words[i] = words[i].substring(0, 1).toUpperCase()
+ words[i].substring(1, words[i].length());
result.append(words[i]);
System.out.println(result.toString());
输出:
eyeOfTheTiger
【讨论】:
【参考方案4】:试试这个通用解决方案:
String[] split = s.split("-");
for(int i = 0; i < split.length; i++)
split[i] = split[i].substring(0, 1).toUpperCase() + split[i].substring(1).toLowerCase();
StringBuilder builder = new StringBuilder();
for(String string : split)
builder.append(string);
【讨论】:
这会将第一个字符 ('e') 转换为大写。【参考方案5】:试试这个:
String s = "eyes-of-tiger";
StringBuilder newString = new StringBuilder();
String[] arr = s.split("-");
boolean first = true;
for (String str : arr)
if (first)
newString.append(str);
first = false;
continue;
newString.append((str.substring(0,1).toUpperCase()) + str.substring(1));
String result = newString.toString();
【讨论】:
以上是关于用大写字母替换“-”[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
怎样用WPS替换\后面的英文,不能用任意字母,因为前面有要保留的字母。
根据具有 Character 类的字母,用数字替换字符串中的字母