java - 我有一个数组,我想将其剥离并转换为另一个数组

标签 java c# arrays

我有一个数组(2 个字段数组),我想从第一个字段中删除“/”并检索剩余的数组及其相同的第二个字段值...

这就是我正在尝试做的事情..

   CurrencyPairs = new string[] { "EURUSD", "USDJPY", "GBPUSD", "EURGBP", "USDCHF", "AUDNZD", "CADCHF", "CHFJPY", "EURAUD", "EURCAD", "EURJPY", "EURCHF", "USDCAD", "AUDUSD", "GBPJPY", "AUDCAD", "AUDCHF", "AUDJPY", "EURNOK", "GBPCAD", "GBPCHF", "NZDJPY", "NZDUSD", "EURNZD", "USDNOK", "USDSEK", "XAUUSD", "XAGUSD", "XTIUSD", "XBRUSD" };

该数组将从 C# 应用程序传递到我的 Java 应用程序,然后该应用程序将为整个字符串创建一个整数 ID...

现在, 我想将第三个字符串“EUR”“USD”分成两部分并添加“/”... 看起来像这样:

ReceivedPairs = new string[] { "EUR/USD", "USD/JPY", "GBP/USD", "EUR/GBP", "USD/CHF", "AUD/NZD", "CAD/CHF", "CHF/JPY", "EUR/AUD", "EUR/CAD", "EUR/JPY", "EUR/CHF", "USD/CAD", "AUD/USD", "GBP/JPY", "AUD/CAD", "AUD/CHF", "AUD/JPY", "EUR/NOK", "GBP/CAD", "GBP/CHF", "NZD/JPY", "NZD/USD", "EUR/NZD", "USD/NOK", "USD/SEK", "XAU/USD", "XAG/USD", "XTI/USD", "XBRUSD" };

并且,Java 通过使其看起来像这样向数组附加一个值..

func(String Pairs, int Id);
func("EURUSD",928);

哪一对将始终附加到生成的 ID..

如何将这些对分成两部分? 如何在拆分后仍然使值不离开数组?

感谢您抽出宝贵的时间..

编辑:我已经尝试过currencyPairs.strip,但这不起作用,因为我没有在字符串中删除的值......没有“/“, 不 ”-”。我需要的是按子字符串长度分割。我知道在 C++ 中是这样,但在 Java 中...缺少

最佳答案

如果您使用的是 Java 8,您可以执行以下操作:

String[] CurrencyPairs = new String[] { "EURUSD", "USDJPY", "GBPUSD", "EURGBP", "USDCHF", "AUDNZD", "CADCHF", "CHFJPY", "EURAUD", "EURCAD", "EURJPY", "EURCHF", "USDCAD", "AUDUSD", "GBPJPY", "AUDCAD", "AUDCHF", "AUDJPY", "EURNOK", "GBPCAD", "GBPCHF", "NZDJPY", "NZDUSD", "EURNZD", "USDNOK", "USDSEK", "XAUUSD", "XAGUSD", "XTIUSD", "XBRUSD" };
String[] ReceivedPairs = Arrays.stream(CurrencyPairs)
    .map(s -> s.substring(0, s.length()/2) + "/" + s.substring(s.length()/2))
    .toArray(String[]::new);

或者如果您不想使用流,则可以使用普通的旧 for 循环:

ReceivedPairs = Arrays.copyOf(CurrencyPairs, CurrencyPairs.length);
for(int i = 0; i < ReceivedPairs.length; i++)
        ReceivedPairs[i] = ReceivedPairs[i].substring(0, ReceivedPairs[i].length()/2) + "/" + ReceivedPairs[i].substring(ReceivedPairs[i].length()/2);

关于java - 我有一个数组,我想将其剥离并转换为另一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32587101/

相关文章:

java - 如何从数组总和/平均值/最小值/最大值中排除数字?

java - 如何使用 Java 8/lambda 执行嵌套的 'if' 语句?

java - 即使JDK包含JRE,还需要JRE吗?

c# - ScriptManager.RegisterStartupScript 接收两个但执行一个脚本

c# - 如何在asp.net mvc 中为属性路由添加默认参数

c# - 从正则表达式中仅返回部分匹配项

c - 显示此符号 ╠ 而不是所需字符

java - Android Canvas 更新问题

python - 在多维numpy数组中查找多个查询的索引

java - 抛出异常问题