java - 获取第三个逗号的索引

原文 标签 java

例如,我有以下字符串参数:Blabla,1,Yooooooo,Stackoverflow,foo,chinese

我想获得字符串testCaseParams直到第三个逗号:Blabla,1,Yooooooo

然后从原始字符串中删除它和逗号,这样我得到这个Stackoverflow,foo,chinese

我正在尝试此代码,但testCaseParams仅显示前两个值(获取第二个逗号的索引,而不是第三个...)

 //Get how many parameters this test case has and group the parameters
        int amountOfInputs = 3;
        int index = params.indexOf(',', params.indexOf(',') + amountOfInputs);
        String testCaseParams = params.substring(0,index);
        params = params.replace(testCaseParams + ",","");

最佳答案

您可以将当前找到的逗号的索引保存在变量中,并进行迭代,直到找到第三个逗号为止:

int index = 0;
for (int i=0; i<3; i++) index = str.indexOf(',', index);
String left = str.substring(0, index);
String right = str.substring(index+1);  // skip comma


编辑:要验证字符串,只需检查index == -1。如果是这样,则字符串中没有3个逗号。

关于java - 获取第三个逗号的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48225765/

相关文章:

java - 如何序列化请求?

java - 使用带有安全连接的OPC UA服务器的milo创建Java OPC客户端

java - Java KeyEvent是否可用于Flash游戏

java - Camel 保持 SFTP 连接打开导致内存泄漏

java - 在Android中显示TimeZone

java - Java 中的泛型(和通配符)

java - 如何使用循环将JsonObjects添加到javax.json.JsonArray(动态)

java - 无需注入(inject)即可获得e4服务

java - 使用 boolean 值搜索重复项

java - Android Image Masking无法按预期呈现