duanchun5520 2017-12-12 10:30 采纳率: 0%
浏览 96

如何从字符串右侧删除货币缩写?

I have a sample array like this:

[
  "BTCUSD",
  "DASHBTC",
  "DOGEUSD",
  "LTCBTC",
  "LTCUSD",
  "SCBTC",
  "STEEMBTC",
  "WAVESBTC",
  "SNGLSBTC",
  "1STBTC",
  "DASHUSD",
  "BQXETH",
  "PTOYETH",
  "XAURETH",
  "BTCUSDT"
]

How to get just one currency for every string? I can't use explode because there isn't a single/static delimiter. I can't use substr() or strpos() because the substrings vary.

So how to split it?

Update

This is my expected output

[
   "BTC",
   "DASH",
   "DOGE",
   "LTC",
   "LTC",
   "SC",
   "STEEM",
   "WAVES",
   "SNGLS",
   "1ST",
   "DASH",
   "BQX",
   "PTOY",
   "XAUR",
   "BTC"
]
  • 写回答

3条回答 默认 最新

  • dsfdsfsdf45489 2017-12-12 10:50
    关注

    You need to have an array to your expected currencies and then filter against it.

    Here is a quick and dirty solution: https://3v4l.org/6mMbN or with recursive function call: https://3v4l.org/mhjBD

    <?php
    
    $currencies = [
        'USD',
        'BTC',
        'DASH',
        'LTC',
        'SC',
        'STEEM',
        'WAVES',
        'SNGLS',
        '1ST',
        'BQX',
        'ETH',
        'PTOY',
        'XAUR',
        ];
    
    $input = [
      "BTCUSD",
      "DASHBTC",
      "DOGEUSD",
      "LTCBTC",
      "LTCUSD",
      "SCBTC",
      "STEEMBTC",
      "WAVESBTC",
      "SNGLSBTC",
      "1STBTC",
      "DASHUSD",
      "BQXETH",
      "PTOYETH",
      "XAURETH",
      "BTCUSDT",
    ];
    
    $output=[];
    foreach($input as $doubleCurrency){
        foreach($currencies as $currency){
            $pattern = '/^'.$currency. '/';
            preg_match($pattern, $doubleCurrency, $matches);
            if(array_key_exists(0, $matches)){
                $output[]=$matches[0];
            }
        }
    }
    
    var_dump($output);
    
    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序