首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从string Java获取缩略语

从string Java获取缩略语
EN

Stack Overflow用户
提问于 2022-05-28 10:45:42
回答 3查看 81关注 0票数 2

应该很清楚。

代码语言:javascript
复制
public class Main
{
    public static void main(String[] args) {
        String str = "Get#the#Acronym";
        getAcronym(str);
    }
    
    public static void getAcronym(String str){
        String[] parts = str.split("#");
        for(var item : parts){
            char a = item.charAt(0);
            System.out.print(a);
        }
    }
}

我已经用这种方法解决了这个问题,但不知道是否有更短的方法没有regex?

EN

回答 3

Stack Overflow用户

发布于 2022-05-28 11:19:42

这里有一个简单的避免正则表达式的方法。它可以处理与你不同的复制#。

代码语言:javascript
复制
public static void getAcronym(String str){
    boolean isInAcronym = true;
    for(char c : str.toCharArray()) {
        if (isInAcronym) {
            System.out.print(c);
        }
        isInAcronym = c == '#';
    }
}
票数 2
EN

Stack Overflow用户

发布于 2022-05-28 11:18:00

您还可以在返回或打印它之前,通过StringBuilder流并组合它。

代码语言:javascript
复制
public static String getAcr(String str) {
    StringBuilder sb = new StringBuilder();
    Arrays.stream(str.split("#"))
            .forEach(part -> sb.append(part.charAt(0)));
    return sb.toString();
}
票数 0
EN

Stack Overflow用户

发布于 2022-05-28 11:24:11

您可以这样返回缩略语:

代码语言:javascript
复制
public String getAcronym(String str) {
    return Arrays.stream(str.split("#")).map(s -> s.substring(0, 1)).collect(Collectors.joining());
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72415002

复制
相关文章

相似问题

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