gpt4 book ai didi

java - 读取某个符号前后的字符串单词

转载 作者:行者123 更新时间:2023-12-01 11:40:15 28 4
gpt4 key购买 nike

虽然我已经问过类似问题如何使JAVA将字符串行分成两部分的问题,但我没有得到我想要的结果。我的项目涉及逻辑电路(门、电线、信号、触点...)。我在下面的方法中需要做的是将分离传入联系人传出联系人。如果传入方法的字符串为 A B C -> D,则 A B C 为传入联系人,D 为传出联系人。我的代码读取符号 -> 之前的所有内容,但我需要在该符号之后读取它,而忽略符号本身。我必须分别测试传入联系人传出联系人,测试也在下面。 smb 可以帮忙吗?

 private List<Contact> inputs;
private List<Wire> innerWires;

public void parseContactsLine(String line)
{

String[] words = line.split(" ");


for(int i = 0; i < words.length; i++)
{
if(!(words[i].equals("->")))
{
Wire wire1 = new Wire(words[i]);
///Wire wire2 = new Wire(words[i]);
innerWires.add(wire1);
//innerWires.add(wire2);
Contact contact = new Contact(wire1, wire1, true);
inputs.add(contact);
outputs.add(contact);
}
else
break;
}
}

这段代码的输出是[A B C]

我的测试用例是:

 List<Contact> ins = Arrays.asList(new Contact[]{
new Contact(new Wire("A"), new Wire("A"), true),
new Contact(new Wire("B"), new Wire("B"), true),
new Contact(new Wire("C"), new Wire("C"), true)}
);
List<Contact> outs = Arrays.asList(new Contact[]{
new Contact(new Wire("D"), new Wire("D"), false)}
);

请注意,传入联系人传出联系人 是单独测试的!不要过多关注 WireContact 成员。它们的定义正确。

最佳答案

试试这个

String[] array = "A B C -> D".split("->");
//splits your string into two strings, and stores them in an array
//array[0] = "A B C " -- all elements before ->
//array[1] = " D" -- all elements after ->
String[] input = array[0].trim().split(" ");
// trim is used to remove trailing/leading white spaces
String[] output = array[1].trim().split(" ");

关于java - 读取某个符号前后的字符串单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29586741/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com