如何使用逗号分隔符处理txt,该分隔符也有逗号作为千位分隔符?

时间:2017-11-22 14:20:49

标签: c++

文字示例:

  

OUTIATIENT VISIT 4,Private,1,1,0,60,0,0
  OUTIATIENT VISIT 4,Private,1,1,0,“1,260”,0,0

目前我只是将字符串分开:

DELIMITER $$
CREATE DEFINER=`root`@`localhost` FUNCTION `getRandomID`(`rangeStart` BIGINT UNSIGNED, `rangeEnd` BIGINT UNSIGNED) RETURNS bigint(20) unsigned
READS SQL DATA
BEGIN
    DECLARE rnd BIGINT unsigned; 
    DECLARE i BIGINT unsigned; 

    IF rangeStart is null OR rangeStart < 1 THEN
        SET rangeStart = 1000000;
    END IF;
    IF rangeEnd is null OR rangeEnd < 1 THEN
        SET rangeEnd = 4294967295; 
    END IF; 

    SET i = 0;

    r: REPEAT
        SET rnd = FLOOR(rangeStart + RAND(RAND(FLOOR(1 + rand() * 1000000000))*10) * (rangeEnd - rangeStart));
        SELECT COUNT(*) INTO i FROM `table` WHERE `id` = rnd;    
    UNTIL i = 0 END REPEAT r; 

    RETURN rnd;
END$$
DELIMITER ;

我这样做的方式适用于第一行文本,但是当涉及到第二行时,它就是废话。还有更多的线不仅仅是2

我需要将字符串的每个已解析部分存储到自己的字符串中。如何使用逗号作为分隔符并使用逗号作为千位分隔符处理数字?

2 个答案:

答案 0 :(得分:2)

您可以使用序列", "作为分隔符。通过在逗号后添加空格,您可以过滤掉数字的第二部分。

答案 1 :(得分:0)

您可以使用“,”作为分隔符并执行第二次传递,您将合并包含数字的字符串(每个示例使用std :: isdigit)。