繁体   English   中英

用新String替换字符串中的所有UpperLetters

Replace all UpperLetters in a string with a new String

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个UserTable格式的字符串。 我希望输出为user_table。 基本上用“_”和字母替换所有大写字母。 喜欢R=_R

我有这个代码,它工作正常。

public static String getTableName(String clazz){
        String name = (clazz.charAt(0)+"").toLowerCase();
        for(int itr=1;itr<clazz.length();itr++){
            char ch = clazz.charAt(itr);
            if(ch >=97 && ch <=122)
                name += ch;
            else
                name += ("_"+ ch).toLowerCase() ;

        }
        return name;
    }

我只是想要,如果这可以以更整洁的方式完成。

2 个回复

建议:使用正则表达式,它使用下划线(不是在开头,但因此负面看后面(?!^) )前置大写字符,将结果转换为小写:

String input = "UserTable";
String result = input.replaceAll("(?!^)([A-Z])", "_$1").toLowerCase();
System.out.println(result); // user_table

您可以使用StringBuilder来实现此目的:

StringBuilder builder = new StringBuilder();
String input = "UserTable";

for (int i = 0; i < input.length(); i++) {
  char ch = input.charAt(i);

  if (i > 0 && Character.isUpperCase(ch)) {
    builder.append('_');
  }

  builder.append(Character.toLowerCase(ch));
}

String result = builder.toString();
1 用新字符串替换字符串模式

对于这个问题,我真的可以使用一些帮助... char *replace(char *s, char *pat, char *rep) 返回字符串s的副本,但是pat每个实例都被rep替换。 请注意, len(pat)可以小于,大于或等于len(rep) 。 该函数为结果字符串分 ...

2 根据条件用新字符串替换字符串

我正在编写一个程序,用户在其中输入名称,P,S或T和回合数。 然后,它将检查它们是否相等(取决于选择的条件是否获胜?这是一场石头,纸,剪刀的游戏)。 然后,如果他们是平等的,我希望它打印的替代版本iChoice和iComputerChoice中JOPtionPane 。 (因为在这种情况下 ...

3 用新值替换字符串

我的工作表名称为例如: PMCC 1 ,我在工作表中的内容为PMCC#01 。 我想使用替换功能将工作表名称转换为PMCC#01 。 我尝试了这段代码 结果,我只得到1。 ...

2019-04-04 07:46:34 4 33   excel/ vba
4 替换字符串中的新行

我有一个逻辑应用程序,当安全中心出现安全警报时会触发该应用程序。 我有一个步骤,我将输入的一个子集映射到一个 JSON 文档中,并使用它来创建一个文件。 我需要我创建的 JSON 文档都在一行中,所以我需要确保我替换了输入中的任何控制换行符。 示例输入: 我的映射(在设计器中): 但是 ...

5 用新值替换字符串

我正在尝试操作一个巨大的文件(+5.000.000 条记录),因此我可以替换例如第 8 列的值。 这是一段由,字符分隔的数据: 我要替换的字段是位于$8 USER_TYPE 我试过这个,但它没有替换值: 我怎样才能做到这一点? ...

2017-02-13 20:29:46 3 156   unix/ awk
7 JavaScript在字符串中替换all / with \\?

我有一个使用cscript通过Windows作业运行的javascript文件。 但是,我似乎无法解决这个问题。 在文件内部,它基本上采用URL并将其转换为UNC路径。 例如: http : //mysite.com/document1.htm到\\ myserver \\ docum ...

8 如何将一个字符串全部替换为0

我的字符串看起来像“ 12345”,如何将所有字符替换为“ 0”,所以它看起来必须像“ 00000”,我不能使用string.replace()函数,因为我的字符串长度不是静态的,所以文本也不是静态的。 我该如何更换? 我将给出一个小的代码来清楚地解释它。 我正在寻找的是Conver ...

2018-11-14 20:49:38 1 67   c#/ string
9 替换字符串中的所有表情符号

我正在一个简单的Java程序上工作,该程序可以采用这样的字符串: ⛔️🚫✋STOP✋🚫⛔️🚫您违反了law法律!🚫😖😖但是现在...😏😖😈您 并将每个表情符号替换为适当的Java字符。 (我不确定该怎么称呼他们)。 这是一个例子: 汽车表情符号: ...

10 替换字符串中的所有“\\/”

所以这个目标理论上很简单。 我想从字符串中替换每个\\/ 。 const a = '/\\/awd\\//g'.replaceAll('\\\\/', ''); const b = '/\\/awd\\//g'.replace(/\\\\\\//g, ''); const c = ' ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM