Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java编程语言中拆分字符串?_Java_String_Split - Fatal编程技术网

如何在Java编程语言中拆分字符串?

如何在Java编程语言中拆分字符串?,java,string,split,Java,String,Split,我正在做我的编程作业,并试图理解Java中的String#split()方法出现的问题。我试了3个小时,然后问-如何在Java中拆分字符串。下面是它的代码片段- 节目 class FileProcessor { public static void fileNameProcessor(String fileName) { System.out.println("\n\n---- PROCESSING FILE NAMES -----\n\n")

我正在做我的编程作业,并试图理解Java中的String#split()方法出现的问题。我试了3个小时,然后问-如何在Java中拆分字符串。下面是它的代码片段-

节目

class FileProcessor
{
    public static void fileNameProcessor(String fileName)
    {
        System.out.println("\n\n---- PROCESSING FILE NAMES -----\n\n");
    
        fileName = "SampleName.java";                   // Let's assume the method receives this string
        String fileNameParts[] = fileName.split(".");

        for (int i = 0; i < fileNameParts.length; i++)
            System.out.println("File Information : " + fileNameParts[i]);

        System.out.println("\n\n------ END OF PROCESSING -------\n\n");
    }
}
我得到的输出:

---- PROCESSING FILE NAMES -----


File Information : SampleName
File Information : java


------ END OF PROCESSING -------
---- PROCESSING FILE NAMES -----




------ END OF PROCESSING -------
我想知道,虽然字符串中有一个点
,但是
split()
方法没有执行它的功能。有人能帮我解决这个问题吗?


希望,这可能会对您有最大帮助-


String#split()方法将正则表达式作为输入

正则表达式不是正则字符串。在正则表达式中,点(.)具有特殊含义,因为它是元字符。它告诉Java选择任何字符,而不仅仅是文字点

为了修复代码,必须在句点或圆点之前使用两个反斜杠来转义圆点。像这样-
“\\。”

解决方案

class FileProcessor
{
    public static void fileNameProcessor(String fileName)
    {
        System.out.println("\n\n---- PROCESSING FILE NAMES -----\n\n");
    
        fileName = "SampleName.java";                     // Assume that the File Name
        String fileNameParts[] = fileName.split("\\.");   // Escaping the dot (.) by double backslash \\.

        for (int i = 0; i < fileNameParts.length; i++)
            System.out.println("File Information : " + fileNameParts[i]);

        System.out.println("\n\n------ END OF PROCESSING -------\n\n");
    }
}
类文件处理器
{
公共静态void fileNameProcessor(字符串文件名)
{
System.out.println(“\n\n----处理文件名------\n\n”);
fileName=“SampleName.java”;//假定文件名
字符串fileNameParts[]=fileName.split(\\.);//通过双反斜杠转义点(.)\。
for(int i=0;i
在此处查找详细信息-

相关问题-

正则表达式中的元字符列表: 正则表达式中有一些具有特殊含义的特殊字符:星号或星号
*
,竖条或竖管符号
,问号
,反斜杠
\
,插入符号
^
,美元符号
$
,句点
,加号
+
,和


这是关于如何在Java中使用split()方法拆分字符串的全部内容,并且在使用元字符进行拆分时,不要忘记使用双反斜杠。

您需要转义。性格

String fileNameParts[] = fileName.split("\\.");
读这本书。String.split()使用正则表达式。