Code Golf
string add tag
Inspired by [this]( unclear question.

Given a single string, replace everything after the first `=` with `.`'s (including the `=` sign).

You are given single string from the input. Possible inputs can be:

You are expected to produce outputs like:
## Input format
The input will be in the following format:

* `value` and `key` may contain `.`'s.
* Both `value` and `key` will contain printable ASCII not containing `=` signs.
* Your input will always be in a single line, so there will be no `\n` or `\r` in the inputs. (They're technically unprintable characters anyway.)
Top Answer TeX
# TeX, 149 Bytes

Much of this code is to allow arbitrary printable ASCII input. If characters from `{`, `}`, etc. were disallowed one could save a few bytes for each. This is because of TeX's parsing rules which don't know strings, hence we have to stringify the input before anything else.

\def~#1{\catcode`#112}\def\1{\bgroup~\\~\{~\}~$~&~\#~^~_~\ ~\%~~~\^^M\2}\def\2#1={#1.\3}{~\^^M\gdef\3#1{\ifx^^M#1\egroup\par\else.\expandafter\3\fi}}

## Complete script:

\def~#1{\catcode`#112}\def\1{\bgroup~\\~\{~\}~$~&~\#~^~_~\ ~\%~~~\^^M\2}\def\2#1={#1.\3}{~\^^M\gdef\3#1{\ifx^^M#1\egroup\par\else.\expandafter\3\fi}}



Note that the script shown can't have values start with any of `{`, `}`, `$`, `&`, `#`, `^`, `_`, ` `, `%` or `~`. This is due to the way I insert `\1` with `\everypar`. If one would change the script such that each line containing a key=value pair starts with `\1` and remove the `\everypar` line this would be fixed (but look ugly, so I didn't).

## Explanation:

`~` is defined to take an argument and turn the character of its argument to category 12 (other), so that it doesn't have any special meaning anymore.

`\1` uses `~` on all those special characters in TeX and calls `\2`.

`\2` reads everything up to the first `=` and prints it, replacing the `=` with a dot. Afterwards it calls `\3`.

`\3` reads a single token and compares it to the end-line character. If it matches it'll end the loop and start a new line in the output, else output a `.` and call `\3` again.

## Output:


## Limitations:

Spaces at the end of the line are removed pretty early in TeX's parsing and the code doesn't handle that. So a key=value pair ending in spaces will be trimmed of those spaces. Consecutive spaces not at the end of the line are handled correctly.
Answer #2 CJam
# [CJam], 10 bytes


[Try it online!][TIO-k9j9a235]

## Explanation

    q            Read the input:    "abcde=12345"
     '=/         Split on '=':      ["abcde" "12345"]
        ~        Unpack:            "abcde" "12345"
         ,       Length:            "abcde" 5
          )      Increment:         "abcde" 6
           '.*   Repeat '.':        "abcde" "......"
                 Implicit output:   abcde......

[TIO-k9j9a235]: "CJam – Try It Online"
Answer #3 Retina
# [Retina], 9 bytes


[Try it online!][TIO-k9j93dwr]

This is my first time golfing in Retina, so it's quite possible I'm missing something.

## Explanation

The first line matches an `=` character followed by arbitrarily many more characters (`.*`).

The second line computes the length of this match with `$.0` and then replaces it with the corresponding number of periods (`*.`).

As a bonus, this is automatically applied to every line of the input because of the way Retina works.

[TIO-k9j93dwr]: "Retina – Try It Online"
Answer #4 QuadR
# [QuadR], 10 bytes

[Try it online!][TIO-k9jsyhmn]

PCRE Replace `=` followed by any characters `.*` with

the match Length `⍵L` cyclically **r**eshaping `⍴` a `'.'`

[TIO-k9jsyhmn]: "QuadR – Try It Online"

Enter question or answer id or url (and optionally further answer ids/urls from the same question) from

Separate each id/url with a space. No need to list your own answers; they will be imported automatically.