Java 在拆分操作的字符串数组中搜索特定字符串
我有一根绳子Java 在拆分操作的字符串数组中搜索特定字符串,java,Java,我有一根绳子 str = "Abc=1,gdf=1,ghj=1,pqr=1" 现在,我要将pqr=1的值增加到pqr2,每当prq出现时,它都会将值增加1。所以我决定先在每个“,”处吐出这个字符串,这样子字符串数组的一部分将包含pqr=1,然后我可以执行递增操作 代码如下 String [] parts=str.split("="); 这给出了包含索引3处的pqr的字符串部分,但并非每次pqr都在索引3处都是必需的,所以我想将其设置为泛型。为此,我正努力做到以下几点: if(Arrays.
str = "Abc=1,gdf=1,ghj=1,pqr=1"
现在,我要将pqr=1的值增加到pqr2,每当prq出现时,它都会将值增加1。所以我决定先在每个“,”处吐出这个字符串,这样子字符串数组的一部分将包含pqr=1,然后我可以执行递增操作
代码如下
String [] parts=str.split("=");
这给出了包含索引3处的pqr的字符串部分,但并非每次pqr都在索引3处都是必需的,所以我想将其设置为泛型。为此,我正努力做到以下几点:
if(Arrays. asList(parts). contains("pqr") {
// Do my other split operation
}
但是我不能通过这个让它变得通用。我并没有得到任何错误,但代码并没有进入if语句。请建议怎么做 首先,不建议为此使用
String
。我认为您需要的是一个HashMap
此外,您可以简单地迭代第一个数组,并在每个字符串中签入子字符串pqr
str = "Abc=1,gdf=1,ghj=1,pqr=1";
String[] arr = str.split(",");
for(String member: arr) {
if(member.contains("pqr")) {
//Do your operation here
}
}
这就是你要找的吗?我正在尽我所能使用提供的代码
public class Splitter {
public static void main(String[] args) {
String str = "Abc=1,gdf=1,ghj=1,pqr=1";
String[] strSplit = str.split(",");
int commaSplitCount = strSplit.length;
for (int s = 0; s < commaSplitCount; s++) {
String[] sSplit = strSplit[s].split("=");
int equalsSplitCount = sSplit.length;
if (equalsSplitCount > 0) {
for (int sParts = 0; sParts < equalsSplitCount; sParts++) {
if (sParts == 0) {
if (sSplit[sParts].contains("pqr")) {
System.out.println("do something >> " + sSplit[sParts]);
} else {
System.out.println("do something else >> " + sSplit[sParts]);
}
}
}
}
}
}
}
无论你想对pqr做什么,你都可以在sout做一些事情。看看番石榴MapSplitter
,看看条件是否符合i。e成员包含pqr,那么我如何将该部分作为字符串获取,以便我可以执行进一步的操作成员将是“字符串的该部分”。如果条件与I匹配,您可以简单地中断循环并将其取出(我假设在字符串中只出现一次pqr
)。e成员包含pqr,那么我如何才能将该部分作为字符串获取,以便我可以执行进一步的操作在我的示例中,当您进入嵌套的for循环时,变量名为“sSplit[0]”,该变量的值为“sSplit[1]”。迭代器在包含“pqr”的区域中是“sParts”,您可以使用Integer.parseInt(sSplit[sParts+1])。然后你可以做任何你想做的事,你知道了吗?希望你一切顺利。
do something else >> Abc
do something else >> gdf
do something else >> ghj
do something >> pqr