Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.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 如何将字符串分隔为3个长度未知的单独字符串_Java_String - Fatal编程技术网

Java 如何将字符串分隔为3个长度未知的单独字符串

Java 如何将字符串分隔为3个长度未知的单独字符串,java,string,Java,String,我正在制作一个计算器程序,希望它能够使用这样的分数:7/8*3/4或11/12-1/10 我将第一个值、操作、第二个值三部分分开 现在我需要弄清楚如何把分数分成3个部分,没有空格,分数中的值有很多意想不到的数字,比如3和30 如果它是一个像3/4这样的分数,我知道我可以把它分割成所有的3个符号,但是它可以是一个像3/11这样的分数,所以保持3的分离是行不通的 我也知道我不能使用StringTokenizer和单独使用/或。有什么办法吗?只需在单词边界上拆分即可: String[] parts =

我正在制作一个计算器程序,希望它能够使用这样的分数:7/8*3/4或11/12-1/10

我将第一个值、操作、第二个值三部分分开

现在我需要弄清楚如何把分数分成3个部分,没有空格,分数中的值有很多意想不到的数字,比如3和30

如果它是一个像3/4这样的分数,我知道我可以把它分割成所有的3个符号,但是它可以是一个像3/11这样的分数,所以保持3的分离是行不通的


我也知道我不能使用StringTokenizer和单独使用/或。有什么办法吗?

只需在单词边界上拆分即可:

String[] parts = str.split("\\b");
这将在单词字符和非单词字符之间进行拆分,反之亦然。数字被认为是字字符


这将使用123/456这样的字符串并返回一个数组[123,/,456]。

您最好对字符串进行标记并将分数转换为小数。在上面的示例中,您如何判断7/8*3/4实际上并不意味着7/8*3/4?@KlitosKyriacou 7/8是一个标记,*是第二个,3/4是第三个。首先我分离所有标记,然后我分离7/8和3/4。是否要分别分离7、/、8、*、3、/、4?是否查看字符串中的空白并使用它确定其中哪些位是标记?边界?如果你是这个意思的话,光是分成几个角色是行不通的!如果是7/20呢?@LittleCoder它也可以处理任何大小的数字和运算符。这不会拆分字符,而是在单词边界中拆分。它会像[7,/,2,0]一样吗?我不是这么想的need@thelittlecoder我更新了答案中的示例,以说明其工作原理。我建议你自己在代码中尝试一下。哦。。。。在你解释之后,这会让事情变得更糟!这意味着我可以把字符串的第一部分和第三部分分开