Java正则表达式问题?
我对java中的正则表达式有问题 我的路线是:Java正则表达式问题?,java,regex,split,Java,Regex,Split,我对java中的正则表达式有问题 我的路线是: CREATE CHAN:NAME=BTSM:1/BTS:2/TRX:5/CHAN:7,CHTYPE=TCHF_HLF,FHSYID=FHSY_0 我想要这个: content [0] = BTSM:1/BTS:2/TRX:5/CHAN:7 content [1] = CHTYPE content [2] = TCHF_HLF content [3] = FHSYID content [4] = FHSY_0 我写道: String[] cont
CREATE CHAN:NAME=BTSM:1/BTS:2/TRX:5/CHAN:7,CHTYPE=TCHF_HLF,FHSYID=FHSY_0
我想要这个:
content [0] = BTSM:1/BTS:2/TRX:5/CHAN:7
content [1] = CHTYPE
content [2] = TCHF_HLF
content [3] = FHSYID
content [4] = FHSY_0
我写道:
String[] content = value.split("^=/:|,|=|,$");
但这不起作用:(
所以请告诉我。。。
非常感谢
String[] content = value.replaceFirst("^[^=]*=", "").split("[,=]");
你应该做你想做的
我不明白你是如何推导出“^=/:|,|=|,$”
的,所以我不能告诉你哪里出了问题,但下面是它的详细说明
^=/:
如果字符串=/:
出现在结果的开头,它将跳过该字符串,并在结果的开头粘贴一个空字符串。可能您需要一个字符集。[=/:]
是一个与这些字符中任何一个匹配的字符集
,
这将在任何逗号上拆分
=
这将在任何等号上拆分
,$
这将跳过输入末尾的逗号(或输入末尾的换行符之前),如果跳过,将在拆分结果的末尾粘贴一个空字符串
你应该做你想做的
我不明白你是如何推导出“^=/:|,|=|,$”
的,所以我不能告诉你哪里出了问题,但下面是它的详细说明
^=/:
如果字符串=/:
出现在结果的开头,它将跳过该字符串,并在结果的开头粘贴一个空字符串。可能您需要一个字符集。[=/:]
是一个与这些字符中任何一个匹配的字符集
,
这将在任何逗号上拆分
=
这将在任何等号上拆分
,$
这将跳过输入末尾的逗号(或输入末尾的换行符之前),如果跳过,将在拆分结果的末尾粘贴一个空字符串。我不知道你要传递给
split()的到底是什么东西
是,但您需要做的是在第一个=
中删除所有内容后,在出现、
或=
时进行拆分。这可以通过以下方法实现:
String[] content = (value.substring(value.indexOf('=') + 1)).split("[,=]");
字符串[]内容=(value.substring(value.indexOf('=')+1)).split(“[,=]”);
我不知道你要传递给
split()
的东西到底是什么,但你需要做的是在第一次=
删除所有内容后,在出现、
或=
时进行拆分。这可以通过以下方法实现:
String[] content = (value.substring(value.indexOf('=') + 1)).split("[,=]");
字符串[]内容=(value.substring(value.indexOf('=')+1)).split(“[,=]”);
+1简单,我喜欢。RegEx不是解决所有问题的工具。+1简单,我喜欢它。RegEx不是解决所有问题的工具。哦,更好。简单总是让我开心=)哦,更好。简单总是让我快乐=)