What is the correct syntax of adding white space after specified number of characters using regex.replace()?

regexp_replace examples
regexp_replace special characters
regex101
oracle regexp_replace multiple patterns
regexp_replace python
javascript regex test
regexp_replace in sql server
oracle regexp_replace multiple replace

I'm using Regex.Replace to add a white space after every nth character into a string. I want to give an int variable(number of characters) after which white space should be added but It seems regular expression is not properly written for int variable and hence syntax error arises.

 int num = 8;
    string text="abcdefghijklmnop"
    string result2 = Regex.Replace(text, ".{num}", "$0 "); //not working

this syntax is working

 string result2 = Regex.Replace(text, ".{8}", "$0 ");

Regular expressions aren't parameterized in the way that you want, as far as I'm aware. Instead, you need to just build the pattern appropriately.

For most situations in modern C# I'd suggest using an interpolated string literal, which does work in this case, but requires the { and } to be doubled to avoid being treated as format specifiers. It may be more readable to just use string concatenation. So you can either use:

string result = Regex.Replace(text, ".{" + num + "}", "$0 ");

or if you're comfortable with { having different meanings in the same literal:

string result = Regex.Replace(text, $".{{{num}}}", "$0 ");

REGEXP_REPLACE, The string returned is in the same character set as source_char . This function complies with the POSIX regular expression standard and the Unicode Regular� Match zero or one white-space characters. \d+: Match one or more decimal digits. [.,]? Match zero or one period or comma. \d* Match zero or more decimal digits. (?<amount>\s?\d[.,]?\d*) Match a white space, followed by one or more decimal digits, followed by zero or one period or comma, followed by zero or more decimal digits.

Not sure exactly what you want, but you may build the regex pattern using string concatenation:

int num = Int32.Parse(text_num);
string regex = ".{" + num + "}";
string result2 = Regex.Replace(text, regex, "$0 ");
TextArea1_trim_id.InnerText = result2;

This answer says nothing regarding whether your regex pattern makes any sense or is correct.

RegexOne - Lesson 9: All this whitespace, The most common forms of whitespace you will use with regular expressions are the In addition, a whitespace special character \s will match any of the specific In the strings below, you'll find that the content of each line is indented by some whitespace from the index of the line (the number is a part of the text to match). 1) It’s fine to use either tabs or spaces for indentation (most IDEs have a setting where you can convert a tab press into the appropriate number of spaces). Developers who prefer spaces tend to do so because it makes the formatting self-describing -- code that is spaced using spaces will always look correct regardless of editor.

Alternative Linq solution (no regular expressions): we insert " " after each num characters (c)

  int num = 8;
  string text = "abcdefghijklmnop";

  // "abcdefgh ijklmnop " 
  string result2 = string.Concat(text
    .Select((c, i) => (i + 1) % num == 0 
       ? c.ToString() + " " 
       : c.ToString()));

If we don't want to add trailing spaces (and thus we want "abcdefgh ijklmnop")

  string result2 = string.Concat(text
    .Select((c, i) => i < text.Length - 1 && (i + 1) % num == 0 
       ? c.ToString() + " " 
       : c.ToString()));

re — Regular expression operations — Python 3.8.5 documentation, Regular expressions use the backslash character ( '\' ) to indicate special forms or to Adding ? after the qualifier makes it perform the match in non-greedy or creates a regular expression that will match either A or B. An arbitrary number of Matches characters considered whitespace in the ASCII character set; this is� In the below example, Trim() is used for string and for char type. It removes all the blank spaces as well as char. In example, you can see the string before and after using the method. A set of characters is defined which specify the characters which we want to remove. It removes all the spaces in string type and Trims all the characters in

REGEXREPLACE( ) function, Syntax. REGEXREPLACE(string, pattern, new_string) The string to use to replace all values matching pattern. Returns the character field data with the spacing between words standardized The examples below illustrate truncation: Matches the specified number of occurrences of the immediately� Example. Demonstrate different values of the white-space property: p.a { white-space: nowrap; The white-space property specifies how white-space inside an element

(Tutorial) Python Regular Expression, Discover the power of regular expressions with this tutorial. registration, used for parsing text data files to find, replace, or delete certain string, etc. You can easily tackle many basic patterns in Python using ordinary characters. Matches a single whitespace character like: space, newline, tab, return. For example, when you are referencing a scalar value from the same row of the current table, you can use the unqualified column name. If the name of a table contains spaces, reserved keywords, or disallowed characters, you must enclose the table name in single quotation marks.

Perl - Regular Expressions, Perl - Regular Expressions - A regular expression is a string of characters that defines the pattern The syntax of regular expressions in Perl is very similar t. Allows you to use white space in the expression for clarity. For example, we can replace all occurrences of dog with cat using the following regular expression −. The canonical, or simplest form of the number is the 16 or 9 digit number. You may also choose to add the following validation pattern: text{9999999999999999} or. text{999999999} In this case, only the number is stored and the validation checks for the correct number of digits.

Comments
  • When you say "actual syntax", do you mean that's a working example? It's not clear to me what you mean by "regex.replace() is not accepting int and there is a syntax error" - could you edit your post to clarify that?
  • yes. stackoverflow.com/questions/9932096/…
  • Posted a few seconds before Jon Skeet. Just saying :-)
  • He allowed for that to happen since he controls time-space continuum