Swift - 从字符串中删除 "\\text { and_whatever_is_here }" 的正则表达式
Swift - regex to remove "\\text { and_whatever_is_here }" from string
Swift 5
我正在调用一个 API,returns 一个包含 LaTex 元素的字符串。在一个完美的世界中,API 会删除很多不需要的内容,但它会返回,我需要手动将其全部删除。
有人知道如何使用一个或多个正则表达式实现以下功能吗?
\text { c. } 50 \times 14
更改为:
50 \times 14
\text { d. } 180 \div 5
更改为:
180 \div 5
更复杂的字符串:
\left. \begin{array} { l l } { \text { b) } 2 \frac { 1 } { 5 } \div ( \frac { 4 } { 5 } - \frac { 1 } { 4 } ) } & { } \\ { \text { b) } \frac { 1 } { 4 } - \frac { 3 } { 4 } ) } & { } \end{array} \right.
更改为:
\left. \begin{array} { l l } { 2 \frac { 1 } { 5 } \div ( \frac { 4 } { 5 } - \frac { 1 } { 4 } ) } & { } \\ { \frac { 1 } { 4 } - \frac { 3 } { 4 } ) } & { } \end{array} \right.
本质上,我试图删除任何出现的:
\text {
and_this_also}
您可以使用
let text = #"\left. \begin{array} { l l } { \text { b) } 2 \frac { 1 } { 5 } \div ( \frac { 4 } { 5 } - \frac { 1 } { 4 } ) } & { } \\ { \text { b) } \frac { 1 } { 4 } - \frac { 3 } { 4 } ) } & { } \end{array} \right."#
let result = text.replacingOccurrences(of: #"\\text\s*\{[^{}]*\}"#, with: "", options: .regularExpression, range: nil)
print(result)
输出:
\left. \begin{array} { l l } { 2 \frac { 1 } { 5 } \div ( \frac { 4 } { 5 } - \frac { 1 } { 4 } ) } & { } \\ { \frac { 1 } { 4 } - \frac { 3 } { 4 } ) } & { } \end{array} \right.
\\text\s*\{[^{}]*\}
模式匹配
\\text
- \text
字符串
\s*
- 零个或多个空格
\{
- 一个 {
字符
[^{}]*
- {
和 }
以外的零个或多个字符
\}
- 一个 }
字符。
参见regex demo。
Swift 5
我正在调用一个 API,returns 一个包含 LaTex 元素的字符串。在一个完美的世界中,API 会删除很多不需要的内容,但它会返回,我需要手动将其全部删除。
有人知道如何使用一个或多个正则表达式实现以下功能吗?
\text { c. } 50 \times 14
更改为:
50 \times 14
\text { d. } 180 \div 5
更改为:
180 \div 5
更复杂的字符串:
\left. \begin{array} { l l } { \text { b) } 2 \frac { 1 } { 5 } \div ( \frac { 4 } { 5 } - \frac { 1 } { 4 } ) } & { } \\ { \text { b) } \frac { 1 } { 4 } - \frac { 3 } { 4 } ) } & { } \end{array} \right.
更改为:
\left. \begin{array} { l l } { 2 \frac { 1 } { 5 } \div ( \frac { 4 } { 5 } - \frac { 1 } { 4 } ) } & { } \\ { \frac { 1 } { 4 } - \frac { 3 } { 4 } ) } & { } \end{array} \right.
本质上,我试图删除任何出现的:
\text {
and_this_also}
您可以使用
let text = #"\left. \begin{array} { l l } { \text { b) } 2 \frac { 1 } { 5 } \div ( \frac { 4 } { 5 } - \frac { 1 } { 4 } ) } & { } \\ { \text { b) } \frac { 1 } { 4 } - \frac { 3 } { 4 } ) } & { } \end{array} \right."#
let result = text.replacingOccurrences(of: #"\\text\s*\{[^{}]*\}"#, with: "", options: .regularExpression, range: nil)
print(result)
输出:
\left. \begin{array} { l l } { 2 \frac { 1 } { 5 } \div ( \frac { 4 } { 5 } - \frac { 1 } { 4 } ) } & { } \\ { \frac { 1 } { 4 } - \frac { 3 } { 4 } ) } & { } \end{array} \right.
\\text\s*\{[^{}]*\}
模式匹配
\\text
-\text
字符串\s*
- 零个或多个空格\{
- 一个{
字符[^{}]*
-{
和}
以外的零个或多个字符
\}
- 一个}
字符。
参见regex demo。