File: ofstrutl.cc

package info (click to toggle)
dcmtk 3.6.9-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 95,648 kB
  • sloc: ansic: 426,874; cpp: 318,177; makefile: 6,401; sh: 4,341; yacc: 1,026; xml: 482; lex: 321; perl: 277
file content (45 lines) | stat: -rw-r--r-- 1,067 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/*
 *
 *  Copyright (C) 2019, OFFIS e.V.
 *  All rights reserved.  See COPYRIGHT file for details.
 *
 *  This software and supporting documentation were developed by
 *
 *    OFFIS e.V.
 *    R&D Division Health
 *    Escherweg 2
 *    D-26121 Oldenburg, Germany
 *
 *
 *  Module:  ofstd
 *
 *  Author:  Michael Onken
 *
 *  Purpose: Class with OFString utility methods
 *
 */

#include "dcmtk/ofstd/ofstrutl.h"
#include "dcmtk/config/osconfig.h" /* include OS specific configuration first */

void OFStringUtil::replace_all(OFString& src, const OFString& pattern, const OFString& rplc)
{
    if (!pattern.empty())
    {
        size_t pos = src.find(pattern, 0);
        while (pos != OFString_npos)
        {
            src.replace(pos, pattern.length(), rplc);
            pos += rplc.length();
            pos = src.find(pattern, pos);
        }
    }
}

OFString
OFStringUtil::replace_all(const OFString& src, const OFString& pattern, const OFString& rplc)
{
    OFString result(src);
    OFStringUtil::replace_all(result, pattern, rplc);
    return result;
}