我尝试禁止两个特定字符串之间的字符串中的子字符串#******************************* *****************************和#------------------- -----------------------------------------例如?
:host(.test) div.measure {
border: 1px solid orange;
}
:host(.test) div.label {
border: 1px solid red;
}
:host(.test) div.value {
border: 1px solid green;
}
其他示例:
基本字符串:“ 12345678 <---要删除的文本---> azertyui”
结果:“ 12345678azertyui”
我想创建一个像这样的函数:
...
# ************************************************************
# Sequel Pro SQL dump
# Version 4541
#
# http://www.sequelpro.com/
# https://github.com/sequelpro/sequelpro
#
# Hôte: gmp2.newtelapps.fr (MySQL 5.5.62-0+deb8u1)
# Base de données: GMP
# Temps de génération: 2019-01-23 16:27:04 +0000
# ************************************************************
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
# Affichage de la table Table_boolean
# ------------------------------------------------------------
...
这可以让我擦除要删除的确切子字符串。
谢谢。
编辑:
我在这里提出了最终解决方案:
self.removeSubString(inString: Str, fromString:"<---", toString:"--->", includingFromAndToString:YES)
答案 0 :(得分:1)
例如,您可以删除单词“ World ”,其后是一个井号,后跟一个空格和六十个星星,然后是一个井号,然后是一个空格和六十个负号。 :
let str = "hello# ************************************************************World# ------------------------------------------------------------!"
let regex = try! NSRegularExpression(pattern: "(?<=\\# \\*{60}).+?(?=\\# -{60})")
let result = regex.stringByReplacingMatches(in: str,
range: NSRange(location: 0, length: str.count),
withTemplate: "")
print(result)
哪个输出:
你好#********************************************* ***************#---------------------------------- --------------------------!
正则表达式使用:
(?<=)
后面(?=)
如果您也想删除中间的文本,请使用以下正则表达式:
let regex2 = try! NSRegularExpression(pattern: "\\# \\*{60}.+?\\# -{60}")
let result2 = regex2.stringByReplacingMatches(in: str,
range: NSRange(location: 0, length: str.count),
withTemplate: "")
print(result2) //hello!
如果要删除两个已知字符串之间的任何内容,请使用正向后看和正向前看:
let str = "12345678<---text to remove--->azertyui"
let regex = try! NSRegularExpression(pattern: "(?<=12345678).+?(?=azerty)")
let result = regex.stringByReplacingMatches(in: str,
range: NSRange(location: 0, length: str.count),
withTemplate: "")
print(result) //12345678azertyui