java - 小写首字母并在 Java 中使用“_”而不是“”
问题描述
我有一个 Java 程序,我想将字符串中单词的每个字符都设为小写字符,并将空格“”替换为“_”。所以这里有一些例子:
- “高层建筑”->“tall_building”
- "红鞋" --> "red_shoes"
- “水” --> “水”
如果可能的话,我不想使用任何库。你介意告诉我我该怎么做吗?我会很感激每一条评论。
解决方案
public static String modifyString(String str) {
if (str == null)
return null;
if (str.isEmpty())
return str;
StringBuilder buf = new StringBuilder(str.length());
for(int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
buf.append(ch == ' ' ? '_' : Character.toLowerCase(ch));
}
return buf.toString();
}
PS当然,它可能是更多的另一种解决方案,例如str.replace(" ", "_").toLowerCase()
. 我的解决方案使用StringBuilder
正确的方式构建String
而不使用Regexp
. 时间复杂度为O(n)
。
推荐阅读
- javascript - 流式导入时 Snowpack 构建失败
- java - 事件循环应用程序(Netty、NodeJS)和多线程应用程序(.NET Core 3+、Tomcat)
- swift - AVCaptureVideoDataOutput 删除重复帧
- python - Exchangelib - 我如何知道帐户是否具有管理权限?
- javascript - 更改 webgl 供应商并使用 javascript 扩展进行渲染
- html - 发出 Ajax POST 请求时出现“parseerror”
- typescript - Nest js + prisma项目,服务中findUnique方法出错
- python - 我怎样才能更有效地将一批张量中的每个元素与除自身之外的所有其他批元素相乘?
- python - 在 for 循环中从上一次迭代中删除现有行
- java - 我需要使用可比较的界面比较两个形状以确定哪个大于或小于另一个