|
10 | 10 | InspectInvisibleText = ( columnNames as list ) => |
11 | 11 | let return = |
12 | 12 | List.Transform( columnNames, ( curName ) => [ |
13 | | - HasWhitespace = RawName <> Text.Trim( curName ), |
| 13 | + HasOuterWhitespace = RawName <> Text.Trim( Text.Clean( curName ) ), |
14 | 14 | RawName = curName, |
| 15 | + |
15 | 16 | Symbols = Text.FormatControlSymbols( curName ), |
16 | | - HexSummary = "Hex: " & Text.Combine( AsHexStr, ", " ), |
| 17 | + HexSummary = "Hex: " & Text.Combine( AsHexStr, ", " ), |
17 | 18 | DecSummary = "Dec: " & Text.Combine( List.Transform( Codepoints, each Text.From(_)), ", " ), |
18 | 19 |
|
19 | 20 | CharList = Text.ToList( RawName ), |
|
34 | 35 | is 0-127 in decimal |
35 | 36 | or 0x0-0x7f in hexadecimal |
36 | 37 | */ |
| 38 | + |
37 | 39 | /* |
38 | | - input: text with whitespace |
39 | | - output: text with whitespace, visualized. Non-whitespace characters are preserved. |
| 40 | + input: text with whitespace |
| 41 | + output: text with whitespace visualized |
40 | 42 | Techincally this isn't codepoints, so it's not perfect, but works for all of ascii |
41 | 43 |
|
42 | 44 | probably poor performance |
43 | | - |
44 | | - example: |
45 | | - in: " User#(cr,lf) Names" |
46 | | - out: "␠␠User␍␊␠Names" |
47 | | - |
48 | | - in: "#(0020) Zero-Width #(200d) Joiner Inside", |
49 | | - out: "␠␠Zero-Width␠<ZWJ>␠Joiner␠Inside" |
50 | 45 | */ |
51 | 46 | Text.FormatControlSymbols = (string as text) as text => |
52 | 47 | let |
|
0 commit comments