위치 기반 문자를 찾고 바꿀 수있는 방법을 찾는 데 어려움을 겪었습니다. 내가 찾고 있어요 기본적으로 무엇을이 문서에 가서 진수 문자를 삭제해야합니다 후알 수없는 문자를 기반으로 한 Python으로 찾기 및 바꾸기
<gco:DateTime>2016-04-20T11:27:34</gco:DateTime>
모든 것을
<gco:DateTime>2016-04-20T11:27:34.8677919-06:00</gco:DateTime>
를 교체합니다. 문제는 XML 파일에 여러 개의 타임 스탬프가있는 것입니다.이 타임 스탬프는 완전히 다릅니다. 내가 정규식에 조금 읽었습니다 그리고 그것은 가능한 방법처럼 보인다. 어떤 도움이라도 대단히 감사하겠습니다. 편집 예 XML 파일 형식의
:
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/xsl' href='http://ngis/ngis/metadata/StyleSheet/xslt/nGIS_Metadata.xslt'?>
<gmd:MD_Metadata xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gmx="http://www.isotc211.org/2005/gmx" xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:gfc="http://www.isotc211.org/2005/gfc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gss="http://www.isotc211.org/2005/gss" xmlns:gsr="http://www.isotc211.org/2005/gsr" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gmi="http://www.isotc211.org/2005/gmi" xmlns:gmd="http://www.isotc211.org/2005/gmd">
<gmd:fileIdentifier>
<gco:CharacterString>BF244A7CB62491BC74B001BE5DEAA213AAFB9DBA</gco:CharacterString>
</gmd:fileIdentifier>
<gmd:language>
<gco:CharacterString>English</gco:CharacterString>
<gmd:date>
<gco:DateTime>2016-04-20T11:27:34.8677919-06:00</gco:DateTime>
</gmd:date>
@Parfait
정규 표현식은이 문제와 다른 유사한 문제를 해결할 것이며 그에 대한 독서를 계속해야합니다. 이 특별한 경우에는 구문 분석 및 날짜 형식 지정도 좋은 방법입니다. –
'lxml' 또는'ElementTree'와 같은 라이브러리를 사용하여 실제로 트리를 파싱하지 않고 XML을 처리하려고 시도하는 것에 대해주의를 기울일 것입니다.하지만 모든 transormations가 복잡하지 않은 경우에도 벗어날 수 있습니다. – holdenweb
충분히 강조 할 수는 없습니다 (아마도 SO에서 가장 높은 투표 결과), [regex html/xml 파일을 만들지 마십시오] (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml- 자체 포함 태그). – Parfait