我需要一些关于replace
或rereplace
我正在尝试将font-family:anything
替换为font-family:swiss7
但是如果有值font-family: BebasNeue
;我希望该字体不变,不添加字体大小,但将字体大小添加到其他字体
我正在关注本教程,但不知何故它与我需要实现的目标不匹配
https://www.sitekickr.com/snippets/coldfusion/strip-css-styles
答案 0 :(得分:0)
更新:我觉得这个问题比较简单。如果您想查看我的原始答案,请查看此帖子的编辑历史记录。这个答案使用了一个类似的原则,虽然你搜索一个你不想删除的项目,然后用替换推回它。
<cfset teststr1 = "font-family: BebasNeue;" />
<cfset teststr2 = "font-family: Verdana" />
<cfset teststr3 = "font-family: BebasNeue; font-family: Times New Roman; color: red" />
<cfset search1 = "(font-family:\s*)((BebasNeue)|[\w ]+)(;)?" />
<cfset replace1 = "font-family: \3swiss7\4" />
<cfset search2 = "BebasNeueswiss7" />
<cfset replace2 = "BebasNeue" />
<cfoutput>
<ol>
<li>#replaceNoCase(reReplaceNoCase(teststr1, search1, replace1, "all"), search2, replace2, "all")#</li>
<li>#replaceNoCase(reReplaceNoCase(teststr2, search1, replace1, "all"), search2, replace2, "all")#</li>
<li>#replaceNoCase(reReplaceNoCase(teststr3, search1, replace1, "all"), search2, replace2, "all")#</li>
</ol>
</cfoutput>
结果:
1. font-family: BebasNeue;
2. font-family: swiss7
3. font-family: BebasNeue; font-family: swiss7; color: red
基本上你用所选的字体类型替换所有字体系列,在本例中为swiss7,但是通过在替换中包含组选择器,你可以将BebasNeue字体留在字符串中。然后,另一步将清除留下的组合字体名称。
答案 1 :(得分:-1)
我建议采用更易于维护的方法:
@Dao
public abstract class ProductDao {
@Insert
public abstract void insert(Product product);
@Delete
public abstract void delete(Product product);
@Transaction
public void insertAndDeleteInTransaction(Product newProduct, Product oldProduct) {
// Anything inside this method runs in a single transaction.
insert(newProduct);
delete(oldProduct);
}
}
这应该让你想要的是:如果它是BebasNeue则不管它,否则,将font-family更改为swiss7并添加字体大小。但它也不是那么复杂,以至于一个正则表达式新手无法理解正在发生的事情。