db2 对字符串进行分隔(分隔符为逗号),并计算分隔得到的数组的长度,不写自定义函数,如何做到?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了db2 对字符串进行分隔(分隔符为逗号),并计算分隔得到的数组的长度,不写自定义函数,如何做到?相关的知识,希望对你有一定的参考价值。
或者统计字符串中逗号出现的个数,该字符串是表的某一个字段
我觉得就得写个函数来做这件事情,因为DB2好像没有这种统计特定字符出现字数的函数,自己写个吧,基本算法是这样:1.用locate函数找到逗号
2.substr函数截取逗号之后的字符串
3.调到第一步执行,直到substr取到的字符串为空追问
能否帮忙写一个,能统计某个字符(逗号)的个数即可
追答算法都给你列好了,都懒得的写,改行吧!别干IT了!
参考技术A 统计字符串中逗号出现的次数:1、length获取当前字符长度
2、replace逗号为空,然后再次计算长度
3、最后上面两个想减就可以啦 参考技术B Delphi的Tstringlist直接就可以拿来分割了
var
list : TStringlist;
begin
list := TStringlist.Create;
list.Delimiter := '-';
list.DelimitedText := '1987-11-16';
showmessage(list.Strings[0]); //1987
showmessage(list.Strings[1]); //11
showmessage(list.Strings[2]); //16
var
myTime : TDate;
i : integer;
begin
myTime := strToDate('2011-3-17');
i := round((now - mytime)*24*3600); //从myTime到现在经历的秒数 ;
参考技术C 只是统计个数来说是非常简单的。用replace 把分隔符替换。然后原来字符串的长度减去替换后的长度 就是分隔符个数
如何将逗号分隔的字符串转换为数组?
【中文标题】如何将逗号分隔的字符串转换为数组?【英文标题】:How do I convert a comma-separated string into an array? 【发布时间】:2011-06-18 08:44:13 【问题描述】:有没有办法将逗号分隔的字符串转换为 Ruby 中的数组?例如,如果我有这样的字符串:
"one,two,three,four"
如何将它转换成这样的数组?
["one", "two", "three", "four"]
【问题讨论】:
为什么会有“csv”标签?这不适用于.csv
文件,只是一个用逗号分隔的字符串。
CSV 代表逗号分隔值。这就是你的字符串。这是一种以字符串格式存储串行或表格数据的非常标准的方法。它不一定需要直接从文件中读取。
@Lèsemajesté:啊,好吧,我只是认为 CSV 只是文件。谢谢!
【参考方案1】:
使用split
方法来做:
"one,two,three,four".split(',')
# ["one","two","three","four"]
如果您想忽略前导/尾随空格,请使用:
"one , two , three , four".split(/\s*,\s*/)
# ["one", "two", "three", "four"]
如果您想将多行(即 CSV 文件)解析为单独的数组:
require "csv"
CSV.parse("one,two\nthree,four")
# [["one","two"],["three","four"]]
【讨论】:
是否有与 PHP 的str_getcsv
等效的函数,可以自动处理带引号的 CSV、包含(转义)逗号、多行 CSV 等的值?
@Lèse majesté:是的,看我的回答。
“一、二、三、四”怎么样——有没有快速修剪空间的方法?
@vanboom "one, two, three, four".split(/\s*,\s*/)
。拆分也适用于正则表达式。或者,如果您喜欢这种语法,您可以使用 map
方法:"one, two, three, four".split(',').map(&:strip)
【参考方案2】:
require 'csv'
CSV.parse_line('one,two,three,four') #=> ["one", "two", "three", "four"]
【讨论】:
这将为空元素返回nil
CSV.parse_line("one,two,,four") #=> ["one", "two", nil, "four"]
【参考方案3】:
>> "one,two,three,four".split ","
=> ["one", "two", "three", "four"]
【讨论】:
以上是关于db2 对字符串进行分隔(分隔符为逗号),并计算分隔得到的数组的长度,不写自定义函数,如何做到?的主要内容,如果未能解决你的问题,请参考以下文章