所以我有一个很长的字符串,这是一个电视台呼叫字母的列表。我把它放入的CRM有一个字符限制,每个字段250。因此,我创建了几个字段。我想把一个字符串拆分成250个字符,然后我想找到最后一个",“
str = "WPXN, KPXN, WCPX, WPPX, KPXD, KKPX, WBPX, WPXA, WWPX, WPXW, KPXB, WPXD, KPPX, WXPX, KPXM, WPXM, WVPX, KPXC, WOPX, KSPX, KPXG, KPXG-LD, WINP, WIPX, WRPX, WFPX, WNPX, WHPX, KPXE, KUPX, WPXE, KPXL, WPXP, WZPX, WPXH, WPXV, KOPX, WGPX, WPXC, WPXJ-LP, WPXX, WPXJ, WPXQ, WPXL, WQPX, WYPX, WPXK, KTPX, WUPX, WLPX, WPXR, KFPX, KPXO, WSPX, KPXR, WEPX, WTPX"
str[0...250]
# returns "WPXN, KPXN, WCPX, WPPX, KPXD, KKPX, WBPX, WPXA, WWPX, WPXW, KPXB, WPXD, KPPX, WXPX, KPXM, WPXM, WVPX, KPXC, WOPX, KSPX, KPXG, KPXG-LD, WINP, WIPX, WRPX, WFPX, WNPX, WHPX, KPXE, KUPX, WPXE, KPXL, WPXP, WZPX, WPXH, WPXV, KOPX, WGPX, WPXC, WPXJ-LP, WPXX"
# leftover_string = do something here
# returns ", WPXX"
appropriate_length_string = str[0...250].chomp(leftover_string)
longer_string = str[251..-1]
longer_string.insert(leftover_string + ", ",0)
# recusrively run until all strings are in an array or something.讲得通?我不知道怎么做“做点什么”这部分。
发布于 2014-01-16 15:07:20
我认为你必须循环或恢复。下面是一个快速的循环示例,很可能会得到改进。
str = "WPXN, KPXN, WCPX, WPPX, KPXD, KKPX, WBPX, WPXA, WWPX, WPXW, KPXB, WPXD, KPPX, WXPX, KPXM, WPXM, WVPX, KPXC, WOPX, KSPX, KPXG, KPXG-LD, WINP, WIPX, WRPX, WFPX, WNPX, WHPX, KPXE, KUPX, WPXE, KPXL, WPXP, WZPX, WPXH, WPXV, KOPX, WGPX, WPXC, WPXJ-LP, WPXX, WPXJ, WPXQ, WPXL, WQPX, WYPX, WPXK, KTPX, WUPX, WLPX, WPXR, KFPX, KPXO, WSPX, KPXR, WEPX, WTPX"
chunk_size = 30
pos1 = 0
pos2 = pos1 + chunk_size
result = []
while pos2 < str.size do
pos2 = str[pos1..pos2].rindex(",") + pos1
result << str[pos1..pos2].strip
pos1 = pos2 + 1
pos2 += chunk_size
result << str[pos1..pos2].strip if pos2 > str.size
end
p resulthttps://stackoverflow.com/questions/21164702
复制相似问题