-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathformat_helpers.js
More file actions
80 lines (73 loc) · 2.04 KB
/
format_helpers.js
File metadata and controls
80 lines (73 loc) · 2.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
// a collection of general functions that are used across different tools
/*
===========================================
String formatting - character replacement
===========================================
*/
// replace special characters with actual values
function replace_special_chars(str) {
let new_str = str.replaceAll(""", '"')
.replaceAll("”", '"')
.replaceAll("“", '"')
.replaceAll("‘", "'")
.replaceAll("’", "'")
.replaceAll("‘", "'")
.replaceAll("“", '"')
.replaceAll("”", '"')
.replaceAll("–", "-")
.replaceAll("=", "=")
.replaceAll("−", "-")
.replaceAll("+", "+")
.replaceAll("′", "*")
.replaceAll("×", "×")
.replaceAll("'", "'")
.replaceAll(" ", " ");
return new_str;
}
// escape regex characters
function escape_regex_chars(str) {
let new_str = str.replaceAll("/", "\\/")
.replaceAll(".", "\\.")
.replaceAll("(", "\\(")
.replaceAll(")", "\\)")
.replaceAll("$", "\\$")
.replaceAll("+", "\\+")
.replaceAll("*", "\\*")
.replaceAll("^", "\\^")
.replaceAll("[", "\\[")
.replaceAll("]", "\\]")
.replaceAll("|", "\\|")
.replaceAll("?", "\\?")
.replaceAll("<", "\\<")
.replaceAll("\\", "\\")
.replaceAll("=", "\\=")
.replaceAll("!", "\\!")
.replaceAll("{", "\\{")
.replaceAll("}", "\\}");
return new_str;
}
/*
===========================================
String formatting - better match function behaviour
===========================================
*/
// the match function, but returns an empty array instead of null if no match
function match_with_empty(str_to_match, regex_exp) {
let match_arr = str_to_match.match(regex_exp);
if (match_arr === null) {
return [];
}
return match_arr;
}
/*
===========================================
Array formatting
===========================================
*/
// remove empty strings from string array
function rm_empty_lines(html_array) {
let new_html_array = html_array.filter(function(x) {
return x !== "";
})
return new_html_array;
}