Suppose I am having two Strings as follows :
String name = "EXAMPLE_MODEL_1";
String actionName = "ListModels";
I want resulting string as Follows :
String result = "ExampleModel1ListModels";
I tried the Follwoing code :
String result = name.toLowerCase().replaceAll("_", "");
result = result.concat(actioName);
And I am getting the result value as "examplemodel1ListModels". But the exepected one is "ExampleModel1ListModels".
The name
string needs to have the underscores replaced -- you've done that. Before you do that, you need to convert it to title case .
After that, simply concatenate the two strings.
You are using toLowerCase()
method so you are getting result like that. Don't use this function.
Combine your partial solution, with the function described here:
使用Apache的WordUtil.Capitalize
方法。
使用番石榴的CaseFormat
String result = LOWER_UNDERSCORE.to(UPPER_CAMEL, "EXAMPLE_MODEL_1") + "ListModels";
Apache commons-lang has utility classes that can help you. Below is my idea
Try to use the following code (I'm editing and paste the full code)
import java.io.IOException;
public class StringTest{
public static void main(String[] arg) throws IOException{
String name = "EXAMPLE_MODEL_1"; String actionName = "ListModels";
String result = toProperCase(name.toLowerCase().replaceAll("_", " "))+actionName;
result= result.replaceAll(" ","");
System.out.println(result);
}
public static String toProperCase(String theString) throws java.io.IOException{
java.io.StringReader in = new java.io.StringReader(theString.toLowerCase());
boolean precededBySpace = true;
StringBuffer properCase = new StringBuffer();
while(true) {
int i = in.read();
if (i == -1) break;
char c = (char)i;
if (c == ' ' || c == '"' || c == '(' || c == '.' || c == '/' || c == '\\' || c == ',') {
properCase.append(c);
precededBySpace = true;
} else {
if (precededBySpace) {
properCase.append(Character.toUpperCase(c));
} else {
properCase.append(c);
}
precededBySpace = false;
}
}
return properCase.toString();
}
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.