如何在Java编程语言中拆分字符串?
我正在做我的编程作业,并试图理解Java中的String#split()方法出现的问题。我试了3个小时,然后问-如何在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")
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()使用正则表达式。