関数remove_duplicated_characters_overwrite マニュアル

(The documentation of function remove_duplicated_characters_overwrite)

Last Update: 2023/2/21


◆機能・用途(Purpose)

文字列から連続して複数回登場する文字を削除する。 元の文字列を上書きする。
Remove characters that continuously appear twice or more from a string. The original string is overwritten.


◆形式(Format)

#include <mystring.h>
inline void remove_duplicated_characters_overwrite
(char ∗string,const char ∗characters,const char ∗mode)


◆引数(Arguments)

string_original 文字列。関数内で修正後の文字列に置き換えられる。
The string, which is modified within the function.
characters 除去したい文字を列挙した配列。
An array composed of the characters to remove.
mode
  • "and"
    引数charactersに列挙された文字の中で 特定の1つの文字が連続して登場する箇所のみを処理対象にする。
    Modify the string only when the same character in argument characters appears continuously.

  • "or_first"
    引数charactersに列挙されたいずれかの文字が連続して登場する箇所を 処理対象にする。最初の1文字を残す。
    Modify the string when either characters in argument characters continuously appear; remain the first character.

  • "or_last"
    引数charactersに列挙されたいずれかの文字が連続して登場する箇所を 処理対象にする。最後の1文字を残す。
    Modify the string when either characters in argument characters continuously appear; remain the last character.



◆使用例(Example)

char string[]="a\t\tb\n\n\nc\t\nd\n\te"

remove_duplicated_characters_overwrite (string,"\t\n","and");

この例では 「\t」が複数連続する箇所 (\t\t\t\t\tなど)、 「\n」が複数連続する箇所 (\n\n\n\n\nなど)の処理が行われ、 string="a\tb\nc\t\nd\n\te" となる。
In this example, duplicated “\t” (i.e., \t\t, \t\t\t, …) and duplicated “\n” (i.e., \n\n, \n\n\n, …) are removed, resulting in string="a\tb\nc\t\nd\n\te".