GVKun编程网logo

替换XML文件中的特定字符串(替换xml文件中的特定字符串怎么弄)

8

对于替换XML文件中的特定字符串感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍替换xml文件中的特定字符串怎么弄,并为您提供关于java–更改文件中的特定字节、Java如何使用String类的

对于替换XML文件中的特定字符串感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍替换xml文件中的特定字符串怎么弄,并为您提供关于java – 更改文件中的特定字节、Java如何使用String类的replace()函数替换字符串中的特定字符、Java替换文本文件中的特定字符串、php – 如何正确解码XML文件中的特殊字符?的有用信息。

本文目录一览:

替换XML文件中的特定字符串(替换xml文件中的特定字符串怎么弄)

替换XML文件中的特定字符串(替换xml文件中的特定字符串怎么弄)

您可以简单地执行以下操作:

import re

with open('a.txt','r') as f:
    text_value = f.read()

    sum_val = sum(map(int,re.findall(r'<sum>(\d+)</sum>',text_value)))

with open('a.txt','w') as f:
    f.write(re.sub(r'<CtrlSum>(.+)</CtrlSum>',f'<CtrlSum>{sum_val}</CtrlSum>',text_value))

不需要readlines()writelines()或任何循环。只需使用.read()->处理-> write()阅读全文。

,

replace()函数只能在字符串上使用。 您的f不是字符串,而是文件本身。您需要调用f.read()以字符串形式获取文件内容,然后在其上调用replace()。

编辑:选中此链接,它说明了在文件上写入的不同方法:)

https://pythonexamples.org/python-replace-string-in-file/

,

使用XML解析

NaN

输出

import xml.etree.ElementTree as ET

xml = '''<r><CtrlSum>10</CtrlSum>
<sum>45</sum></r>'''

root = ET.fromstring(xml)
root.find('.//CtrlSum').text = root.find('.//sum').text
ET.dump(root)
,

XSLT 3.0解决方案:

<xsl:transform version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:mode on-no-match="shallow-copy"/>
 <xsl:template match="CtrlSum/text()">
   <xsl:value-of select="//sum"/>
 </xsl:template>
</xsl:transform>

(也可以使用XSLT 1.0,只是更加冗长)。

java – 更改文件中的特定字节

java – 更改文件中的特定字节

我正在尝试编写一个将在大文件中更改1个字节的java函数.如何在android上使用java读取和写入文件中的特定地址?我已经尝试了fis.read(byte b [],int off,int len)并且我每次都关闭一个力.

解决方法:

使用RandomAccessFile.

开球示例:

RandomAccessFile raf = new RandomAccessFile(file, "rw");
try {
    raf.seek(5); // Go to byte at offset position 5.
    raf.write(70); // Write byte 70 (overwrites original byte at this offset).
} finally {
    raf.close(); // Flush/save changes and close resource.
}

Java如何使用String类的replace()函数替换字符串中的特定字符

Java如何使用String类的replace()函数替换字符串中的特定字符

java如何使用string类的replace()函数替换字符串中的特定字符

在Java编程中,经常需要对字符串进行处理和操作。其中一个常见的操作就是替换字符串中的特定字符。Java提供了String类的replace()函数来实现这个功能。

replace()函数是String类的一个方法,它接受两个参数:要被替换的字符(字符串)和用来替换的字符(字符串)。该函数会将所有在原字符串中出现的被替换字符都替换为指定的字符,并返回一个新的字符串。

下面是一个简单的示例,演示了如何使用replace()函数替换字符串中的特定字符:

public class ReplaceExample {
    public static void main(String[] args) {
        String originalString = "Hello, Java!";
        String replacedString = originalString.replace("Java", "World");
        
        System.out.println("原字符串:" + originalString);
        System.out.println("替换后的字符串:" + replacedString);
    }
}
登录后复制

上述代码中,原字符串是"Hello, Java!",我们使用replace()函数将其中的"Java"替换为"World"。最后输出的结果是"Hello, World!"。

立即学习“Java免费学习笔记(深入)”;

除了替换字符串中的特定字符,replace()函数也可以替换字符串中的子字符串。下面是一个示例:

public class ReplaceExample {
    public static void main(String[] args) {
        String originalString = "I love apples!";
        String replacedString = originalString.replace("apples", "oranges");
        
        System.out.println("原字符串:" + originalString);
        System.out.println("替换后的字符串:" + replacedString);
    }
}
登录后复制

上述代码中,我们将字符串中的"apples"替换为"oranges"。最后输出的结果是"I love oranges!"。

需要注意的是,replace()函数只会替换字符串中第一次出现的被替换字符(字符串)。如果要替换所有出现的字符,可以使用replaceAll()函数。

public class ReplaceExample {
    public static void main(String[] args) {
        String originalString = "Hello, Java!";
        String replacedString = originalString.replaceAll("a", "A");
        
        System.out.println("原字符串:" + originalString);
        System.out.println("替换后的字符串:" + replacedString);
    }
}
登录后复制

上面的示例中,我们将原字符串中的所有"a"替换为"A"。最后输出的结果是"Hello, JAvA!"。

总结一下,Java的String类提供了方便的replace()函数来替换字符串中的特定字符或子字符串。通过使用该函数,我们可以轻松地对字符串进行替换操作。

以上就是Java如何使用String类的replace()函数替换字符串中的特定字符的详细内容,更多请关注php中文网其它相关文章!

Java替换文本文件中的特定字符串

Java替换文本文件中的特定字符串

我有一个名为log.txt的文本文件,它具有以下数据

1,,Mon May 05 00:05:45 WST 2014,textFiles/a.txt,images/download.jpg2,,Mon May 05 00:05:45 WST 2014,textFiles/a.txt,images/download.jpg

第一个逗号之前的数字是指定每个项目的索引。

我想做的是读取文件,然后将给定行中字符串的一部分(例如textFiles / a.txt)替换为另一值(例如something / bob.txt)。

这就是我到目前为止

    File log= new File("log.txt");                    String search = "1,,Mon May 05 00:05:45 WST 2014,textFiles/a.txt,images/download.jpg;                    //file reading                    FileReader fr = new FileReader(log);                    String s;                    try (BufferedReader br = new BufferedReader(fr)) {                        while ((s = br.readLine()) != null) {                            if (s.equals(search)) {                                //not sure what to do here                            }                        }                    }

答案1

小编典典

一种方法是使用String.replaceAll()

File log= new File("log.txt");String search = "textFiles/a\\.txt";  // <- changed to work with String.replaceAll()String replacement = "something/bob.txt";//file readingFileReader fr = new FileReader(log);String s;try {    BufferedReader br = new BufferedReader(fr);    while ((s = br.readLine()) != null) {        s.replaceAll(search, replacement);        // do something with the resulting line    }}

您还可以使用正则表达式,或String.indexOf()查找搜索字符串在一行中的何处。

php – 如何正确解码XML文件中的特殊字符?

php – 如何正确解码XML文件中的特殊字符?

在我正在解析的一些 XML文件中(通常是RSS),我运行的文本包含像今天最新的字符,在我从节点中提取文本后,它变成了今天的最新版本.这告诉我,我正在错误地处理解码过程.

我可以简单地用patch my script修复这个错误,但是如果还有许多其他字符变得乱码呢?在将XML文件转换为UTF-8脚本时,如何在不破坏编码的情况下消化XML文件的正确方法是什么?

以下是我尝试过的一些看似不太合适的事情:

$xml = file_get_contents($file);

// One: still contains ’
//$xml = @iconv('UTF-8','UTF-8//IGnorE',$xml);

// Two: LibXMLError Entity 'rsquo' not defined
//$xml = htmlentities($xml,null,'UTF-8');
//$xml = htmlspecialchars_decode($xml,ENT_QUOTES);

// Three: still contains ’
//$xml = mb_convert_encoding($xml,"UTF-8","UTF-8");

$xml = simplexml_load_string($xml,LIBXML_NOCDATA | LIBXML_NOENT);

解决方法

检查输出内容的方式.
如果输出目标不支持UTF-8,也可能发生这种情况.

我假设您输出到浏览器,因此请检查浏览器编码并尝试将其显式设置为UTF-8,因为您可能从XML获取正确的文本,但它只显示错误.

如果上面没有帮助,也尝试使用DOMDocument加载XML

关于替换XML文件中的特定字符串替换xml文件中的特定字符串怎么弄的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于java – 更改文件中的特定字节、Java如何使用String类的replace()函数替换字符串中的特定字符、Java替换文本文件中的特定字符串、php – 如何正确解码XML文件中的特殊字符?的相关信息,请在本站寻找。

本文标签: