{"id":102787,"date":"2019-11-06T12:25:54","date_gmt":"2019-11-06T12:25:54","guid":{"rendered":"https:\/\/www.softwaretestinghelp.com\/?page_id=102787"},"modified":"2025-04-01T08:13:06","modified_gmt":"2025-04-01T08:13:06","slug":"csharp-strings","status":"publish","type":"page","link":"https:\/\/www.softwaretestinghelp.com\/c-sharp\/csharp-strings\/","title":{"rendered":"C# String Tutorial \u2013 String Methods With Code Examples"},"content":{"rendered":"<p><strong>There are Several Methods Present in the C# String Class. In This Tutorial, We Will Discuss Some of The Most Commonly Used String Methods in C#:<\/strong><\/p>\n<p>In C#, the string is represented as a sequence of characters. It is an object of System.String class. C# allows the users to perform different operations on a string such as a substring, trim, concatenate, etc.<\/p>\n<p>The string can be declared by using the keyword <strong>string<\/strong> which is an alias for the System.String object.<\/p>\n<p><strong>=&gt; <a href=\"https:\/\/www.softwaretestinghelp.com\/c-sharp\/\">Look For The Easy C# Training Guide Here<\/a><\/strong><\/p>\n<p><em><strong> <\/strong><\/em><a href=\"https:\/\/www.softwaretestinghelp.com\/wp-content\/qa\/uploads\/2019\/09\/C-Strings-1.png\"><br \/>\n<img decoding=\"async\" class=\"alignnone size-full wp-image-103220\" src=\"https:\/\/www.softwaretestinghelp.com\/wp-content\/qa\/uploads\/2019\/09\/C-Strings-1.png\" alt=\"C# Strings\" width=\"650\" height=\"366\" srcset=\"https:\/\/www.softwaretestinghelp.com\/wp-content\/qa\/uploads\/2019\/09\/C-Strings-1.png 650w, https:\/\/www.softwaretestinghelp.com\/wp-content\/qa\/uploads\/2019\/09\/C-Strings-1-300x169.png 300w\" sizes=\"(max-width: 650px) 100vw, 650px\" \/><\/a><\/p>\n<h2>Difference Between String And string?<\/h2>\n<p>This question has been revolving around in the minds of many beginners. In C# the \u201cstring\u201d keyword is a reference to System.String class. This makes both string and String equal. Hence, you are free to use any naming convention you prefer.<\/p>\n<pre>string a = \u201chello\u201d; \/\/ defining the variable using \u201cstring\u201d keyword\r\nString b = \u201cWorld\u201d; \/\/defining the variable using \u201cString\u201d class\r\nConsole.WriteLine(a+ \u201c \u201c+b);<\/pre>\n<p><strong>The output will be:<\/strong><\/p>\n<p>hello World<\/p>\n<h2>C# String Methods<\/h2>\n<p>There are several methods present in the String class. These methods help in working with different string objects. In this tutorial, we will be discussing some of the most commonly used methods.<\/p>\n<h3><span style=\"color: #ff6600;\">#1) Clone( )<\/span><\/h3>\n<p>The clone method in C# is used to duplicate a string type object. It returns a clone of the same data as the object type.<\/p>\n<p><strong>Parameter and Return Type<\/strong><\/p>\n<p>The clone method does not accept any parameters but returns an object.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Clone method example<\/strong><\/span><\/p>\n<pre>String a = \"hello\";\r\nString b = (String)a.Clone();\r\nConsole.WriteLine(b);<\/pre>\n<p><strong>Output<\/strong><\/p>\n<p>hello<\/p>\n<p><strong>Explanation<\/strong><\/p>\n<p>We used the Clone method to create a clone of the first string. But the clone method returns an object and an object cannot be implicitly converted into a string. Hence, we have used casting to handle this. Then we have stored it into another variable and printed it to the console.<\/p>\n<h3><span style=\"color: #ff6600;\">#2) Concat( )<\/span><\/h3>\n<p>A concat method in C# helps combine or concatenate several strings. It returns a combined string. There are several overload methods for Concat and one can use any of these based on the logical requirement.<\/p>\n<p><strong> Some of the commonly used overload methods include:<\/strong><\/p>\n<ul>\n<li>Concat(String,\u00a0String)<\/li>\n<li>Concat(String,\u00a0String,\u00a0String)<\/li>\n<li>Concat(String,\u00a0String,\u00a0String, String)<\/li>\n<li>Concat(Object)<\/li>\n<li>Concat(Object,\u00a0Object)<\/li>\n<li>Concat(Object,\u00a0Object,\u00a0Object)<\/li>\n<li>Concat(Object,\u00a0Object,\u00a0Object,\u00a0Object)<\/li>\n<\/ul>\n<p><strong>Parameter and Return Type<\/strong><\/p>\n<p>It takes string or object as an argument and returns a string object.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Example:<\/strong><\/span><\/p>\n<pre>string a = \"Hello\";\r\nstring b = \"World\";\r\nConsole.WriteLine(string.Concat(a,b));<\/pre>\n<p><strong>Output<\/strong><\/p>\n<p>HelloWorld<\/p>\n<p><strong>Explanation<\/strong><\/p>\n<p>In this example, we have used the Concat method to combine two string variables. The concat method accepts strings as an argument and returns object. We have concatenated both the declared variables and then have printed them to the console.<\/p>\n<h3><span style=\"color: #ff6600;\">#3) Contains( )<\/span><\/h3>\n<p>Contain method in C# is used to determine if a particular substring is present inside a given string or not. Contains method returns a Boolean value, hence if the given substring is present inside the string then it will return \u201ctrue\u201d and if it is absent then it will return \u201cfalse\u201d.<\/p>\n<p><strong>Parameters and Return Type<\/strong><\/p>\n<p>It accepts a string as an argument and returns Boolean value as true or false. The parameter is a substring whose occurrence needs to be validated inside the string.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Example:<\/strong><\/span><\/p>\n<pre>string a = \"HelloWorld\";\r\nstring b = \"World\";\r\nConsole.WriteLine(a.Contains(b));<\/pre>\n<p><strong>Output<\/strong><\/p>\n<p>True<\/p>\n<p>Now, let\u2019s see what happens if a given substring is not present inside a string.<\/p>\n<pre>string a = \"software\";\r\nstring b = \"java\";\r\nConsole.WriteLine(a.Contains(b));<\/pre>\n<p><strong>Output<\/strong><\/p>\n<p>False<\/p>\n<p><strong>Explanation<\/strong><\/p>\n<p>In the first example, the program tried to find out if the substring \u201cWorld\u201d is present in the string \u201cHelloWorld\u201d. As the substring was present, it returned a Boolean value \u201cTrue\u201d.<\/p>\n<p>In the second example when we tried to find if the string \u201cjava\u201d is present inside the string \u201csoftware\u201d, then the method returned a \u201cFalse\u201d value as it couldn\u2019t find \u201cjava\u201d anywhere inside the \u201csoftware\u201d.<\/p>\n<h3><span style=\"color: #ff6600;\">#4) Copy( )<\/span><\/h3>\n<p>The Copy method in C# is used to produce a new string instance with the same value as a different declared string.<\/p>\n<p><strong>Parameters and Return Type<\/strong><\/p>\n<p>It accepts a string as a parameter whose copy needs to be created and returns a string object.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Example:<\/strong><\/span><\/p>\n<pre>string a = \"Hello\";\r\nstring b = string.Copy(a);\r\nConsole.WriteLine(b);<\/pre>\n<p><strong>Output<\/strong><\/p>\n<p>Hello<\/p>\n<p><strong>Explanation<\/strong><\/p>\n<p>In the above example, we declared a variable and then created a copy of it using the copy method and stored it in another variable \u201cb\u201d. The string.Copy() method creates a copy of a given string. We then printed the copy to the console to receive the output.<\/p>\n<h3><span style=\"color: #ff6600;\">#5) Equals( )<\/span><\/h3>\n<p>The Equals method in C# is used to validate if the two given strings are the same or not. If both the strings contain the same value then this method will return true and if they contain different value then this method will return false. In simpler words, this method is used to compare two different strings to determine their equality.<\/p>\n<p><strong>Parameter and Return Type<\/strong><\/p>\n<p>It accepts a string parameter and returns a Boolean value.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Example:<\/strong><\/span><\/p>\n<p>When both the strings are not equal<\/p>\n<pre>string a = \"Hello\";\r\nstring b = \"World\";\r\nConsole.WriteLine(a.Equals(b));<\/pre>\n<p><strong>Output<\/strong><\/p>\n<p>False<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Example:<\/strong><\/span><\/p>\n<p>When both strings are equal<\/p>\n<pre>string a = \"Hello\";\r\nstring b = \"Hello\";\r\nConsole.WriteLine(a.Equals(b));<\/pre>\n<p><strong>Output<\/strong><\/p>\n<p>True<\/p>\n<p><strong>Explanation<\/strong><\/p>\n<p>In the first example, we have validated two unequal strings \u201ca\u201d and \u201cb\u201d. When both the strings are not equal, the Equals method is used for validation, and it returns \u201cFalse\u201d, which we have printed to the console.<\/p>\n<p>In the second example, we have tried to validate two strings with equal values. As both the values are equals, the Equals method has returned \u201cTrue\u201d, which we have printed on the console.<\/p>\n<h3><span style=\"color: #ff6600;\">#6) IndexOf( )<\/span><\/h3>\n<p>The IndexOf method in C# is used to find the index of a specific character inside a string. This method provides an index in the form of an integer. It counts the index value starting from zero.<\/p>\n<p><strong>Parameter and Return Type<\/strong><\/p>\n<p>It accepts a character as a parameter and returns an integer value defining the position of the character inside the string.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Example<\/strong><\/span><\/p>\n<pre>string a = \"Hello\";\r\nint b = a.IndexOf('o');\r\nConsole.WriteLine(b);<\/pre>\n<p><strong>Output<\/strong><\/p>\n<p>4<\/p>\n<p><strong>Explanation<\/strong><\/p>\n<p>In the above example, we have a string \u201cHello\u201d. Using the IndexOf method we have tried to find the position of char \u2018o\u2019 in the string. The position of the index is then stored inside another variable b. We received the value of b as 4 because the char \u20180\u2019 is present at index 4 (counting from zero).<\/p>\n<h3><span style=\"color: #ff6600;\">#7) Insert( )<\/span><\/h3>\n<p>The Insert method in C# is used for inserting a string at a specific index point. As we learned in our earlier, the index method starts with zero. This method inserts the string inside another string and returns a new modified string as the result.<\/p>\n<p><strong>Parameter and Return Type<\/strong><\/p>\n<p>The insert method accepts two parameters, the first being an integer that defines the index at which the string needs to be inserted and the second one is the string that is used for insertion.<\/p>\n<p>It returns a modified string value.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Example<\/strong><\/span><\/p>\n<pre>string a = \"Hello\";\r\nstring b = a.Insert(2, \u201c_World_\u201d);\r\nConsole.WriteLine(b);<\/pre>\n<p><strong>Output<\/strong><\/p>\n<p>He_World_llo<\/p>\n<p><strong>Explanation<\/strong><\/p>\n<p>In the above example, we have defined a string variable with value \u201cHello\u201d. Then we used the Insert method to enter another string \u201c_World_\u201d inside the first string at index 2. As the output shows the second string has been inserted at index 2.<\/p>\n<h3><span style=\"color: #ff6600;\">#8) Replace( )<\/span><\/h3>\n<p>The Replace method in C# is used to replace a certain set of concurrent characters from a given string. It returns a string with characters replaced from the original string. Replace method has two overloads, it can be used to replace both strings as well as characters.<\/p>\n<p><strong>Parameter and Return Type<\/strong><\/p>\n<p>It accepts two parameters, the first one is the character that needs to be replaced from the given string. The second parameter is the character or string by which you want to replace the string\/char in the previous parameter.<\/p>\n<p>Let\u2019s have a look at an example to clear up things.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Example:<\/strong><\/span><\/p>\n<pre>string a = \"Hello\";\r\nstring b = a.Replace(\u201clo\u201d, \u201cWorld\u201d);\r\nConsole.WriteLine(b);<\/pre>\n<p><strong>Output<\/strong><\/p>\n<p>HelWorld<\/p>\n<p><strong>Explanation<\/strong><\/p>\n<p>In the above example, we used a string variable \u201ca\u201d containing \u201cHello\u201d as value. We then used the Replace method to remove \u201clo\u201d from the first string by replacing it with the second parameter.<\/p>\n<h3><span style=\"color: #ff6600;\">#9) SubString( )<\/span><\/h3>\n<p>The SubString method in C# is used to get a part of the string from a given string. By using this method, the program can specify a starting index and can get the substring till the end.<\/p>\n<p><strong>Parameter and Return Type<\/strong><\/p>\n<p>It accepts an integer parameter as an index. The index specifies the start point of the substring. The method returns a string.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Example:<\/strong><\/span><\/p>\n<pre>string a = \"Hello\";\r\nstring b = a.Substring(2);\r\nConsole.WriteLine(b);<\/pre>\n<p><strong>Output<\/strong><\/p>\n<p>llo<\/p>\n<p><strong>Explanation<\/strong><\/p>\n<p>We passed index two in the substring method that serves as the starting point of the substring. Hence, it starts picking up the characters inside the string from index 2. Thus, we receive the output of all the characters including and after index 2.<\/p>\n<h3><span style=\"color: #ff6600;\">#10) Trim( )<\/span><\/h3>\n<p>The Trim method in C# is used to remove all the whitespace characters at the start and end of a string. It can be used whenever a user needs to remove extra whitespace at the start or end of a given string.<\/p>\n<p><strong>Parameter and Return type<\/strong><\/p>\n<p>It doesn\u2019t accept any parameter but returns a string.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Example<\/strong><\/span><\/p>\n<p>When both the strings are not equal<\/p>\n<pre>string a = \"Hello \";\r\nstring b = a.Trim();\r\nConsole.WriteLine(b);<\/pre>\n<p><strong>Output<\/strong><\/p>\n<p>Hello<\/p>\n<p><strong>Explanation<\/strong><\/p>\n<p>We used a string where we have extra whitespace at the end. Then we used the Trim method to remove the extra whitespace and stored the value returned by Trim in another variable b. Then we printed the output to the console.<\/p>\n<h2>Conclusion<\/h2>\n<p>In this tutorial, we learned about the String class in C#. We also looked into some of the most commonly used methods from the String class. We learned how to trim, replace, close, insert, copy, etc. a string.<\/p>\n<p>We also learned how to perform validations on a given string by using methods such as equals and contains.<\/p>\n<p><strong>=&gt; <a href=\"https:\/\/www.softwaretestinghelp.com\/c-sharp\/\">Look For The Easy C# Training Guide Here<\/a><\/strong><\/p>\n\r\n\t\t\t<div id=\"daexthefup-container\"\r\n\t\t\t\tclass=\"daexthefup-container daexthefup-layout-stacked daexthefup-alignment-center\"\r\n\t\t\t\tdata-post-id=\"102787\">\r\n\r\n\t\t\t\t<div class=\"daexthefup-feedback\">\r\n\t\t\t\t\t<div class=\"daexthefup-text\">\r\n\t\t\t\t\t\t<h3 class=\"daexthefup-title\">Was this helpful?<\/h3>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div class=\"daexthefup-buttons-container\">\r\n\t\t\t\t\t\t<div class=\"daexthefup-buttons\">\r\n\t\t\t\t\t\t\t\r\n\t\t\t<div class=\"daexthefup-yes daexthefup-button daexthefup-button-type-icon\" data-value=\"1\">\r\n\t\t\t\t\r\n                <svg>\r\n                    <defs>\r\n                        <style>.thumb-up-cls-1{fill:#c9c9c9;}.thumb-up-cls-2{fill:#e1e1e1;}.thumb-up-cls-3{fill:#676767;}<\/style>\r\n                    <\/defs>\r\n                    <g id=\"thumb_up\">\r\n                        <path class=\"thumb-up-cls-2 daexthefup-icon-circle\" d=\"m24,3c11.58,0,21,9.42,21,21s-9.42,21-21,21S3,35.58,3,24,12.42,3,24,3m0-1C11.85,2,2,11.85,2,24s9.85,22,22,22,22-9.85,22-22S36.15,2,24,2h0Z\" \/>\r\n                        <g>\r\n                            <rect class=\"thumb-up-cls-3 daexthefup-icon-secondary-color\" x=\"10\" y=\"20\" width=\"6\" height=\"15\" rx=\"1.5\" ry=\"1.5\" \/>\r\n                            <path class=\"thumb-up-cls-1 daexthefup-icon-primary-color\" d=\"m30.57,9.06l-.49-.1c-.81-.17-1.61.35-1.78,1.16l-5.3,11.74c-.17.81,3.16,1.61,3.97,1.78l1.96.41c.81.17,1.61-.35,1.78-1.16l2.18-10.27c.34-1.61-.7-3.21-2.31-3.56Z\" \/>\r\n                            <path class=\"thumb-up-cls-1 daexthefup-icon-primary-color\" d=\"m38.17,20h-18.67c-.83,0-1.5.67-1.5,1.5v12c0,.83.67,1.5,1.5,1.5h16.27c.71,0,1.33-.5,1.47-1.21l2.4-12c.19-.93-.53-1.8-1.47-1.8Z\" \/>\r\n                        <\/g>\r\n                    <\/g>\r\n                <\/svg>\t\t\t<\/div>\r\n\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t<div class=\"daexthefup-no daexthefup-button daexthefup-button-type-icon\" data-value=\"0\">\r\n\t\t\t\t\r\n                <svg>\r\n                    <defs>\r\n                        <style>.thumb-down-cls-1{fill:#c9c9c9;}.thumb-down-cls-2{fill:#e1e1e1;}.thumb-down-cls-3{fill:#676767;}<\/style>\r\n                    <\/defs>\r\n                    <g id=\"thumb_down\">\r\n                        <path class=\"thumb-down-cls-2 daexthefup-icon-circle\" d=\"m24,3c11.58,0,21,9.42,21,21s-9.42,21-21,21S3,35.58,3,24,12.42,3,24,3m0-1C11.85,2,2,11.85,2,24s9.85,22,22,22,22-9.85,22-22S36.15,2,24,2h0Z\" \/>\r\n                        <g>\r\n                            <rect class=\"thumb-down-cls-3 daexthefup-icon-secondary-color\" x=\"10\" y=\"13\" width=\"6\" height=\"15\" rx=\"1.5\" ry=\"1.5\" \/>\r\n                            <path class=\"thumb-down-cls-1 daexthefup-icon-primary-color\" d=\"m30.57,38.94l-.49.1c-.81.17-1.61-.35-1.78-1.16l-5.3-11.74c-.17-.81,3.16-1.61,3.97-1.78l1.96-.41c.81-.17,1.61.35,1.78,1.16l2.18,10.27c.34,1.61-.7,3.21-2.31,3.56Z\" \/>\r\n                            <path class=\"thumb-down-cls-1 daexthefup-icon-primary-color\" d=\"m38.17,28h-18.67c-.83,0-1.5-.67-1.5-1.5v-12c0-.83.67-1.5,1.5-1.5h16.27c.71,0,1.33.5,1.47,1.21l2.4,12c.19.93-.53,1.8-1.47,1.8Z\" \/>\r\n                        <\/g>\r\n                    <\/g>\r\n                <\/svg>\t\t\t<\/div>\r\n\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\r\n\t\t\t\t<div class=\"daexthefup-comment\">\r\n\t\t\t\t\t<div class=\"daexthefup-comment-top-container\">\r\n\t\t\t\t\t\t<label id=\"daexthefup-comment-label\" class=\"daexthefup-comment-label\"><\/label>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"daexthefup-comment-character-counter-container\">\r\n\t\t\t\t\t\t\t\t<div id=\"daexthefup-comment-character-counter-number\"\r\n\t\t\t\t\t\t\t\t\tclass=\"daexthefup-comment-character-counter-number\"><\/div>\r\n\t\t\t\t\t\t\t\t<div class=\"daexthefup-comment-character-counter-text\"><\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<textarea id=\"daexthefup-comment-textarea\" class=\"daexthefup-comment-textarea\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Type your message\"\r\n\t\t\t\t\t\t\t\tmaxlength=\"\r\n\t\t\t\t\t\t\t\t400\t\t\t\t\t\t\t\t\t\"><\/textarea>\r\n\t\t\t\t\t<div class=\"daexthefup-comment-buttons-container\">\r\n\t\t\t\t\t\t<button class=\"daexthefup-comment-submit daexthefup-button\">Submit<\/button>\r\n\t\t\t\t\t\t<button class=\"daexthefup-comment-cancel daexthefup-button\">Cancel<\/button>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\r\n\t\t\t\t<div class=\"daexthefup-successful-submission-text\">Thanks for your feedback!<\/div>\r\n\r\n\t\t\t<\/div>\r\n\r\n\t\t\t","protected":false},"excerpt":{"rendered":"<p>There are Several Methods Present in the C# String Class. In This Tutorial, We Will Discuss Some of The Most Commonly Used String Methods in C#: In C#, the string is represented as a sequence of characters. It is an object of System.String class. C# allows the users to perform &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"C# String Tutorial \u2013 String Methods With Code Examples\" class=\"read-more button\" href=\"https:\/\/www.softwaretestinghelp.com\/c-sharp\/csharp-strings\/#more-102787\" aria-label=\"Read more about C# String Tutorial \u2013 String Methods With Code Examples\">Read more<\/a><\/p>\n","protected":false},"author":9,"featured_media":103220,"parent":39458,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_helpful_pro_status":1,"footnotes":""},"categories":[404],"tags":[],"class_list":{"0":"post-102787","1":"page","2":"type-page","3":"status-publish","4":"has-post-thumbnail","6":"category-c-sharp"},"acf":[],"_links":{"self":[{"href":"https:\/\/www.softwaretestinghelp.com\/wp-json\/wp\/v2\/pages\/102787","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.softwaretestinghelp.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.softwaretestinghelp.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.softwaretestinghelp.com\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.softwaretestinghelp.com\/wp-json\/wp\/v2\/comments?post=102787"}],"version-history":[{"count":0,"href":"https:\/\/www.softwaretestinghelp.com\/wp-json\/wp\/v2\/pages\/102787\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.softwaretestinghelp.com\/wp-json\/wp\/v2\/pages\/39458"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.softwaretestinghelp.com\/wp-json\/wp\/v2\/media\/103220"}],"wp:attachment":[{"href":"https:\/\/www.softwaretestinghelp.com\/wp-json\/wp\/v2\/media?parent=102787"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.softwaretestinghelp.com\/wp-json\/wp\/v2\/categories?post=102787"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.softwaretestinghelp.com\/wp-json\/wp\/v2\/tags?post=102787"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}