Files
gobyexample/public/string-functions
Eli Bendersky cecfee7229
Some checks failed
test / build (1.23.0, macos-latest) (push) Has been cancelled
test / build (1.23.0, ubuntu-latest) (push) Has been cancelled
Fix typo
Fixes #610
2025-06-09 05:20:47 -07:00

164 lines
11 KiB
Plaintext
Generated

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Go by Example: String Functions</title>
<link rel=stylesheet href="site.css">
</head>
<script>
window.onkeydown = (e) => {
if (e.ctrlKey || e.altKey || e.shiftKey) {
return;
}
if (e.key == "ArrowLeft") {
window.location.href = 'recover';
}
if (e.key == "ArrowRight") {
window.location.href = 'string-formatting';
}
}
</script>
<body>
<div class="example" id="string-functions">
<h2><a href="./">Go by Example</a>: String Functions</h2>
<table>
<tr>
<td class="docs">
<p>The standard library&rsquo;s <code>strings</code> package provides many
useful string-related functions. Here are some examples
to give you a sense of the package.</p>
</td>
<td class="code empty leading">
</td>
</tr>
<tr>
<td class="docs">
</td>
<td class="code leading">
<a href="https://go.dev/play/p/wKSAzxfs96O"><img title="Run code" src="play.png" class="run" /></a><img title="Copy code" src="clipboard.png" class="copy" />
<pre class="chroma"><code><span class="line"><span class="cl"><span class="kn">package</span> <span class="nx">main</span></span></span></code></pre>
</td>
</tr>
<tr>
<td class="docs">
</td>
<td class="code leading">
<pre class="chroma"><code><span class="line"><span class="cl"><span class="kn">import</span> <span class="p">(</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34;fmt&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="nx">s</span> <span class="s">&#34;strings&#34;</span>
</span></span><span class="line"><span class="cl"><span class="p">)</span></span></span></code></pre>
</td>
</tr>
<tr>
<td class="docs">
<p>We alias <code>fmt.Println</code> to a shorter name as we&rsquo;ll use
it a lot below.</p>
</td>
<td class="code leading">
<pre class="chroma"><code><span class="line"><span class="cl"><span class="kd">var</span> <span class="nx">p</span> <span class="p">=</span> <span class="nx">fmt</span><span class="p">.</span><span class="nx">Println</span></span></span></code></pre>
</td>
</tr>
<tr>
<td class="docs">
</td>
<td class="code leading">
<pre class="chroma"><code><span class="line"><span class="cl"><span class="kd">func</span> <span class="nf">main</span><span class="p">()</span> <span class="p">{</span></span></span></code></pre>
</td>
</tr>
<tr>
<td class="docs">
<p>Here&rsquo;s a sample of the functions available in
<code>strings</code>. Since these are functions from the
package, not methods on the string object itself,
we need to pass the string in question as the first
argument to the function. You can find more
functions in the <a href="https://pkg.go.dev/strings"><code>strings</code></a>
package docs.</p>
</td>
<td class="code">
<pre class="chroma"><code><span class="line"><span class="cl"> <span class="nf">p</span><span class="p">(</span><span class="s">&#34;Contains: &#34;</span><span class="p">,</span> <span class="nx">s</span><span class="p">.</span><span class="nf">Contains</span><span class="p">(</span><span class="s">&#34;test&#34;</span><span class="p">,</span> <span class="s">&#34;es&#34;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"> <span class="nf">p</span><span class="p">(</span><span class="s">&#34;Count: &#34;</span><span class="p">,</span> <span class="nx">s</span><span class="p">.</span><span class="nf">Count</span><span class="p">(</span><span class="s">&#34;test&#34;</span><span class="p">,</span> <span class="s">&#34;t&#34;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"> <span class="nf">p</span><span class="p">(</span><span class="s">&#34;HasPrefix: &#34;</span><span class="p">,</span> <span class="nx">s</span><span class="p">.</span><span class="nf">HasPrefix</span><span class="p">(</span><span class="s">&#34;test&#34;</span><span class="p">,</span> <span class="s">&#34;te&#34;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"> <span class="nf">p</span><span class="p">(</span><span class="s">&#34;HasSuffix: &#34;</span><span class="p">,</span> <span class="nx">s</span><span class="p">.</span><span class="nf">HasSuffix</span><span class="p">(</span><span class="s">&#34;test&#34;</span><span class="p">,</span> <span class="s">&#34;st&#34;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"> <span class="nf">p</span><span class="p">(</span><span class="s">&#34;Index: &#34;</span><span class="p">,</span> <span class="nx">s</span><span class="p">.</span><span class="nf">Index</span><span class="p">(</span><span class="s">&#34;test&#34;</span><span class="p">,</span> <span class="s">&#34;e&#34;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"> <span class="nf">p</span><span class="p">(</span><span class="s">&#34;Join: &#34;</span><span class="p">,</span> <span class="nx">s</span><span class="p">.</span><span class="nf">Join</span><span class="p">([]</span><span class="kt">string</span><span class="p">{</span><span class="s">&#34;a&#34;</span><span class="p">,</span> <span class="s">&#34;b&#34;</span><span class="p">},</span> <span class="s">&#34;-&#34;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"> <span class="nf">p</span><span class="p">(</span><span class="s">&#34;Repeat: &#34;</span><span class="p">,</span> <span class="nx">s</span><span class="p">.</span><span class="nf">Repeat</span><span class="p">(</span><span class="s">&#34;a&#34;</span><span class="p">,</span> <span class="mi">5</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"> <span class="nf">p</span><span class="p">(</span><span class="s">&#34;Replace: &#34;</span><span class="p">,</span> <span class="nx">s</span><span class="p">.</span><span class="nf">Replace</span><span class="p">(</span><span class="s">&#34;foo&#34;</span><span class="p">,</span> <span class="s">&#34;o&#34;</span><span class="p">,</span> <span class="s">&#34;0&#34;</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"> <span class="nf">p</span><span class="p">(</span><span class="s">&#34;Replace: &#34;</span><span class="p">,</span> <span class="nx">s</span><span class="p">.</span><span class="nf">Replace</span><span class="p">(</span><span class="s">&#34;foo&#34;</span><span class="p">,</span> <span class="s">&#34;o&#34;</span><span class="p">,</span> <span class="s">&#34;0&#34;</span><span class="p">,</span> <span class="mi">1</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"> <span class="nf">p</span><span class="p">(</span><span class="s">&#34;Split: &#34;</span><span class="p">,</span> <span class="nx">s</span><span class="p">.</span><span class="nf">Split</span><span class="p">(</span><span class="s">&#34;a-b-c-d-e&#34;</span><span class="p">,</span> <span class="s">&#34;-&#34;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"> <span class="nf">p</span><span class="p">(</span><span class="s">&#34;ToLower: &#34;</span><span class="p">,</span> <span class="nx">s</span><span class="p">.</span><span class="nf">ToLower</span><span class="p">(</span><span class="s">&#34;TEST&#34;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"> <span class="nf">p</span><span class="p">(</span><span class="s">&#34;ToUpper: &#34;</span><span class="p">,</span> <span class="nx">s</span><span class="p">.</span><span class="nf">ToUpper</span><span class="p">(</span><span class="s">&#34;test&#34;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre>
</td>
</tr>
</table>
<table>
<tr>
<td class="docs">
</td>
<td class="code">
<pre class="chroma"><code><span class="line"><span class="cl"><span class="gp">$</span> go run string-functions.go
</span></span><span class="line"><span class="cl"><span class="go">Contains: true
</span></span></span><span class="line"><span class="cl"><span class="go">Count: 2
</span></span></span><span class="line"><span class="cl"><span class="go">HasPrefix: true
</span></span></span><span class="line"><span class="cl"><span class="go">HasSuffix: true
</span></span></span><span class="line"><span class="cl"><span class="go">Index: 1
</span></span></span><span class="line"><span class="cl"><span class="go">Join: a-b
</span></span></span><span class="line"><span class="cl"><span class="go">Repeat: aaaaa
</span></span></span><span class="line"><span class="cl"><span class="go">Replace: f00
</span></span></span><span class="line"><span class="cl"><span class="go">Replace: f0o
</span></span></span><span class="line"><span class="cl"><span class="go">Split: [a b c d e]
</span></span></span><span class="line"><span class="cl"><span class="go">ToLower: test
</span></span></span><span class="line"><span class="cl"><span class="go">ToUpper: TEST</span></span></span></code></pre>
</td>
</tr>
</table>
<p class="next">
Next example: <a href="string-formatting" rel="next">String Formatting</a>.
</p>
<p class="footer">
by <a href="https://markmcgranaghan.com">Mark McGranaghan</a> and <a href="https://eli.thegreenplace.net">Eli Bendersky</a> | <a href="https://github.com/mmcgrana/gobyexample">source</a> | <a href="https://github.com/mmcgrana/gobyexample#license">license</a>
</p>
</div>
<script>
var codeLines = [];
codeLines.push('');codeLines.push('package main\u000A');codeLines.push('import (\u000A \"fmt\"\u000A s \"strings\"\u000A)\u000A');codeLines.push('var p \u003D fmt.Println\u000A');codeLines.push('func main() {\u000A');codeLines.push(' p(\"Contains: \", s.Contains(\"test\", \"es\"))\u000A p(\"Count: \", s.Count(\"test\", \"t\"))\u000A p(\"HasPrefix: \", s.HasPrefix(\"test\", \"te\"))\u000A p(\"HasSuffix: \", s.HasSuffix(\"test\", \"st\"))\u000A p(\"Index: \", s.Index(\"test\", \"e\"))\u000A p(\"Join: \", s.Join([]string{\"a\", \"b\"}, \"-\"))\u000A p(\"Repeat: \", s.Repeat(\"a\", 5))\u000A p(\"Replace: \", s.Replace(\"foo\", \"o\", \"0\", -1))\u000A p(\"Replace: \", s.Replace(\"foo\", \"o\", \"0\", 1))\u000A p(\"Split: \", s.Split(\"a-b-c-d-e\", \"-\"))\u000A p(\"ToLower: \", s.ToLower(\"TEST\"))\u000A p(\"ToUpper: \", s.ToUpper(\"test\"))\u000A}\u000A');codeLines.push('');
</script>
<script src="site.js" async></script>
</body>
</html>