C#关于用逗号分割字符串?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#关于用逗号分割字符串?相关的知识,希望对你有一定的参考价值。

Console.WriteLine("请输入两个数用\",\"分开!");
string Z = Console.ReadLine();
int L = Z.IndexOf(',');//?不明白 IndexOf(',') 这是什么方法?
double A = Convert.ToDouble(Z.Substring(0, L));//?完全不明白
double B = Convert.ToDouble(Z.Substring(L + 1, Z.Length - L - 1));));//?完全不明白

Z.IndexOf(',');//要Z字符串中搜索','(逗号)的位置如Z=“123,4567”则 Z.IndexOf(',');返回为L=3(因为第0个字符为"1",第1个字符为"2",第2个字符为"3",第3个字符为",")Z.Substring(0, L));//为截取从第0个字符开始,长度为L个字符的字符串,因为L=3,所以相当于取"123"Convert.ToDouble()是将"123"转为双精度的符点数(数字)123.0double B = Convert.ToDouble(Z.Substring(L + 1, Z.Length - L - 1));同理:为跳过豆号取“456”(从第4个字符开始,长度为7-3-1=3的字符串),且转为双精度的符点数456.0 参考技术A int L = Z.IndexOf(',');//?不明白 IndexOf(',') 这是什么方法?
找最后一个',',得到一个int的位置double A = Convert.ToDouble(Z.Substring(0, L));//?完全不明白
将字符串截取,截取的位置就是','所在的位置.然后转化为double类型.赋值给Adouble B = Convert.ToDouble(Z.Substring(L + 1, Z.Length - L - 1));));//?完全不明白
这个应该就好理解了. 希望能帮到你.
参考技术B split函数是编程语言中使用的函数,是指返回一个下标从零开始的一维数组,它包含指定数目的子字符串。
引用using System.Text.RegularExpressions;
string str="aaa,bbb,ccc";
string[] sArray=Regex.Split(str,",",RegexOptions.IgnoreCase);
foreach (string i in sArray) Response.Write(i.ToString() + "<br>");
输出结果:
aaa
bbb
ccc

oracle 用逗号分割一个带引号的字符串

【中文标题】oracle 用逗号分割一个带引号的字符串【英文标题】:oracle split by comma a quoted string 【发布时间】:2016-09-16 10:31:22 【问题描述】:

我发现了很多这样的问题,但没有一个是 100% 适合我的。我有 oracle 11g express

我有那个字符串

'abcd,123,,defoifcd,"comma, in string",87765,,,hello'

这意味着通常用逗号分隔数据,但可以是空数据(甚至更多),如果数据中有逗号,则引用它。

目前为止最好的 reg exp 就是那个

'("[^"]*"|[^,]+)'

但这会将使用该查询的所有空数据放在末尾​​p>

with test as 
(select 
'abcd,123,,defoifcd,"comma, in string", 87765,,,hello'
str from dual  
)  
select REGEXP_SUBSTR(str, '("[^"]*"|[^,]+)', 1, rownum) split
from test  
connect by level <= length (regexp_replace (str, '("[^"]*"|[^,]+)'))  + 1;

我也尝试用 ,n/a 替换空数据,所以有

'abcd,123,n/a,defoifcd,"comma, in string",87765,n/a,n/a,hello'

但 regexp_replace 只替换第一次出现的空数据

select 
regexp_replace('abcd,123,,defoifcd,"comma, in string",87765,,,hello', '(,,)', ',n/a,')
str from dual;  

提前致谢!

【问题讨论】:

this 你已经看过了吗?那是使用 replace 而不是 regexp_replace 将虚拟值放入... 是的,这种替换确实是个好主意 【参考方案1】:

这似乎工作并处理 NULL:

SQL> with test as
    (select
    'abcd,123,,defoifcd,"comma, in string", 87765,,,hello'
    str from dual
    )
    select trim('"' from REGEXP_SUBSTR(str, '(".*?"|.*?)(,|$)', 1, level, NULL, 1)) split
    from test
    connect by level<=length(regexp_replace(str,'".*?"|[^,]*'))+1;

SPLIT
----------------------------------------------------
abcd
123

defoifcd
comma, in string
 87765


hello

9 rows selected.

SQL>

这篇文章为解决方案提供了动力:https://community.oracle.com/thread/528107?tstart=0

【讨论】:

以上是关于C#关于用逗号分割字符串?的主要内容,如果未能解决你的问题,请参考以下文章

函数用逗号分割字符串,插入两列

用逗号分割字符串,但忽略括号或引号中的逗号

javascript 用逗号和无限空格分割字符串

如何在每个字符串之间用逗号分割数组?

oracle 用逗号分割一个带引号的字符串

jquery中如何以逗号分割字符串