我想为每个“字体家族”打印“ woff” URL,但是[SerializeField]
GameObject abilities;
void Update() {
if (canuseFireballtimer >= 5) {
abilities.GetComponent<usedAbilities>().canFireballnow = true;
}
是无法分割的原子字符串。
如何编写代码?
css_parser.CSSParser().style.property.value
我想要一个输出,例如:
#!/usr/bin/env python3
import css_parser
CSSstr='''
@font-face {
font-family: "Arial";
src: url("https://www.com/test1.eot");
src: url("https://www.com/test1.eot?#iefix") format("embedded-opentype"), url("https://www.com/test1.woff2") format("woff2"), url("https://www.com/test1.woff") format("woff"), url("https://www.com/test1.svg") format("svg");
}
@font-face {
font-family: "Arial Italic";
src: url("www.com/test2.eot");
src: url("www.com/test2.eot?#iefix") format("embedded-opentype"), url("www.com/test2.woff2") format("woff2"), url("www.com/test2.woff") format("woff"), url("www.com/test2.svg") format("svg");
}
'''
parser = css_parser.CSSParser()
sheet = parser.parseString(CSSstr)
for rule in sheet:
if rule.type == 5:
# find property
for property in rule.style:
if property.name == 'font-family':
print(property.value)
if property.name == 'src':
print(property.value)
答案 0 :(得分:0)
正如您所说,它只是一个原子字符串。
解决方法:使用正则表达式捕获数据。
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = builderFactory.newDocumentBuilder();
Document document = builder.parse(new
File("C:\\Users\\Dexter\\IdeaProjects\\vulnTest\\pom.xml"));
Node node = document.getDocumentElement();
NodeList nl = node.getChildNodes();
for(int i=0; i< nl.getLength(); i++){
String tmp = nl.item(i).getNodeName();
if (tmp.equals("build")){
System.out.println("build Exist");
Element ele = document.createElement("test");
Element nodes = document.createElement("tt");
Text txt = document.createTextNode("data");
nodes.appendChild(txt);
ele.appendChild(nodes);
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.transform(new DOMSource(document), new StreamResult(new File("C:\\Users\\Dexter\\IdeaProjects\\vulnTest\\pom.xml")));
NodeList nl2 = document.getElementsByTagName("plugins");
for (int j=0; j<nl2.getLength();j++){
String tmp2 = nl2.item(j).getNodeName();
System.out.println(nl2.item(j).getNodeName());
if(tmp2.equals("plugins"))
{
System.out.println("plugins exists");
}
}
}
表达说明:
import re
...
for rule in sheet:
if rule.type == 5:
# find property
for property in rule.style:
if property.name == 'font-family':
print(property.value)
if property.name == 'src':
match = re.search(r'.*url\((.*woff)\)\.*', property.value)
print(match.group(1))
一些由任何字符开头的字符串,然后是.*url\(
。url(
要捕获的数据。由(.*woff)
结尾的任何文本。woff
前先\)\.*
,然后再输入任何文本。我希望这将为您提供解决方案。