Razor Blade Tutorials
Tutorial Home
›
Razor.Blade
RazorBlade Text.Has(...) v1.1
These demos show how to really check if a variable has text using Text.Has. This combines checks for...
- null
- empty
- only html-nbsp
- only html character #160 (also nbsp)
- only new-line
Note that these examples use
@helper
and
emojis
, so click on the links if you don't understand that.
Examples
Test |
Code |
Result |
...when html counts |
Null value |
Text.Has(null) |
❌ |
❌ |
Just spaces |
Text.Has(" ") |
❌ |
❌ |
text with only line breaks |
Text.Has("\n\n") |
❌ |
❌ |
tabs, spaces and line breaks |
Text.Has("\n\t \n") |
❌ |
❌ |
only nbsp characters |
Text.Has(" ") |
❌ |
✔️ |
char-code of nbsp characters |
Text.Has(" ") |
❌ |
✔️ |
real text |
Text.Has("real text") |
✔️ |
✔️ |
Real text with nbps etc. |
Text.Has("real\n text ") |
✔️ |
✔️ |
Special case: <BR> Whitespace
- If your string is like Text.Has("<br>") it will be: True
- If you want to ignore BRs, combine it with Tags.Br2Nl(...)
- ...resulting in: False
Source Code of this file
Below you'll see the source code of the file. Note that we're just showing the main part, and hiding some parts of the file which are not relevant for understanding the essentials.
@inherits ToSic.Sxc.Dnn.RazorComponent
@using ToSic.Razor.Blade;
<!-- unimportant stuff, hidden -->
RazorBlade Text.Has(...) v1.1 These... <!-- unimportant stuff, hidden -->
<h2>Examples</h2>
<table class="demo table table-hover">
<tr>
<th>Test</th>
<th>Code</th>
<th>Result</th>
<th>...when html counts</th>
</tr>
@RowEmojified("Null value", null)
@RowEmojified("Just spaces", " ")
@RowEmojified("text with only line breaks", "\n\n")
@RowEmojified("tabs, spaces and line breaks", "\n\t \n")
@RowEmojified("only nbsp characters", " ")
@RowEmojified("char-code of nbsp characters", " ")
@RowEmojified("real text", "real text")
@RowEmojified("Real text with nbps etc.", "real\n text ")
</table>
@helper RowEmojified(string label, string value) {
var valueForShowing = value == null
? "null"
: "\"" + value.Replace("\n", "\\n").Replace("\t", "\\t") + "\"";
<tr>
<td>@label</td>
<td>Text.Has(@valueForShowing)</td>
<td>@Boolmoji(Text.Has(value))</td>
<td>@Boolmoji(Text.Has(value, false))</td>
</tr>
}
@helper Boolmoji(bool value) {
@(value ? "✔️" : "❌")
}
<h2>Special case: <BR> Whitespace</h2>
<ul>
<li>If your string is like Text.Has("<br>") it will be: @Text.Has("<br>")</li>
<li>If you want to ignore BRs, combine it with @hlp.TutLink("Tags.Br2Nl(...)", "blade220") </li>
<li>...resulting in: @Text.Has(Tags.Br2Nl("<br>"))</li>
</ul>
<!-- unimportant stuff, hidden -->