我必须拆分一个包含普通值和货币值的字符串

i.e. aaa,bbb,$33,222,ccc,$22,000


预期输出:

-aaa
-bbb
-$33,222
-ccc
-$22,000

最佳答案

只是给出一些非正则表达式的答案。您可以执行以下操作:

String[] MySplit(String str)
{
    bool currency = false;
    char[] chars = str.ToCharArray();

    for(int i = 0; i < str.Length(); ++i)
    {
       if(chars[i] == '$')
          currency=true;
       else
       if(currency && chars[i] == ',')
       {
           chars[i] = '.';
           currency = false;
       }
    }
    return new String(chars).Split(",");
}


这将用句号或您想要的任何内容替换货币逗号,以便您可以舒适地在逗号上分割字符串。拥有令牌后,您始终可以将其改回逗号。请注意,这仅在货币值始终为小数的假设下有效。

10-06 05:19
查看更多