Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取特定字符串值之前的单词_Java - Fatal编程技术网

Java 获取特定字符串值之前的单词

Java 获取特定字符串值之前的单词,java,Java,不久前我问了一个关于以下方法的问题,并提出了完全不同的问题。假设我有字符串ab->C或ab->carry sum或xycin->Cout sum。如何提取->之前的单词而不包括->?然后提取->之后的单词 public void parseContactsLine(String line) { String[] words = line.split("->"); for(int i = 0; i < words.length; i++)

不久前我问了一个关于以下方法的问题,并提出了完全不同的问题。假设我有字符串
ab->C
ab->carry sum
xycin->Cout sum
。如何提取
->
之前的单词而不包括
->
?然后提取
->
之后的单词

public void parseContactsLine(String line)
    {
        String[] words = line.split("->");

        for(int i = 0; i < words.length; i++)
        {

        }
    }
public void解析联系人行(字符串行)
{
String[]words=line.split(“->”);
for(int i=0;i
您对“->”的第一次拆分将把每边的单词列表分成两个字符串

然后可以使用
.split(\\s)按空格重新拆分
获取每个单词的列表

你会以

String[] wordsAfterLambda = line.split("->")[1].split("\\s");
for(String s : wordsAfterLambda)
    System.out.println(s);
请注意,我为每个
使用了
,而不是为
使用了
,当不需要保留索引时,我倾向于使用


编辑

根据您的评论,
[1]
是访问数组值,而不是链接到拆分本身,这与执行相同

String[] words = line.split("->");
String[] wordsAfterLambda = words[1].split("\\s");

看来你已经弄明白了,不是吗<代码>字符串[]单词=行。拆分(“->”)
正在为您存储它。拆分中的[1]是什么意思?@Nikolay第一个拆分返回一个数组,因此我使用
[1]
@Nikolay split将分隔符作为参数来检索第二个值,这里我们要从“->”的每一侧检索,因此我们将其作为分隔符。然后我们用
[1]
检索右边的部分,并用空格作为分隔符重新拆分它,以检索包含每个单词的数组。我想说的是为什么会有“test”?@Nikolay Oops,这是一个打字错误。。它应该是“line”。。编辑。