相关疑难解决方法(0)

如何在Java中拆分字符串但保留定界符?

我正在尝试重新创建不和谐的表情符号解析消息的方式。

例如,我希望消息Hello, :smile::hearth: world!拆分为以下数组:

["Hello, ", ":smile:", ":hearth:", " world!"]
Run Code Online (Sandbox Code Playgroud)

我已经尝试使用以下代码拆分数组:

Arrays.toString(message.split("(:[A-Za-z]+:)"))
Run Code Online (Sandbox Code Playgroud)

但是,split方法会删除找到的定界符。因此最终结果如下所示:

["Hello", , , " world!"]
Run Code Online (Sandbox Code Playgroud)

java regex

6
推荐指数
1
解决办法
121
查看次数

Java正则表达式在数字后拆分字符串

抱歉,又是一个正则表达式问题!我有一个未知长度的字符串,其中包含以下模式:

"abc1defg2hijk23lmn19"
Run Code Online (Sandbox Code Playgroud)

我需要拆分字符串以获得以下内容:

["abc1", "DefG2", "hiJk23", "lmn19"]
Run Code Online (Sandbox Code Playgroud)

它非常简单,我只需要每次在数字后拆分。该数字可以是任何非零数字。

我可以像这样进行正面查找:

a.split("(?=\\d+)");
Run Code Online (Sandbox Code Playgroud)

但是,这实际上是拆分数字而不是前面的字母组和数字。

我目前的尝试看起来像这样,但不起作用:

a.split("(?=[A-Za-z]+\\d+)");
Run Code Online (Sandbox Code Playgroud)

java regex

5
推荐指数
1
解决办法
5217
查看次数

如何用不同的子串替换多个子串?

我从文本文件中获得了这一和弦.例如,

String chordLine = "C     G   Am  C";
String transposedChordLine;
Run Code Online (Sandbox Code Playgroud)

接下来,我需要使用两个参数,即转置的和弦和整数增量,使用下面的类将其chordLine转换为新transposedChordLineString.例如,transpose("C", 2)将返回D.

 public class Transposer{
    private int inc;
    private static ArrayList<String> keysSharp;
    private static ArrayList<String> keysFlat;

    Transposer(){
        keysSharp = new ArrayList<String>(Arrays.asList("C", "C#", "D", "D#","E", "F","F#", "G","G#", "A","A#", "B"));
        keysFlat = new ArrayList<String>(Arrays.asList("C", "Db", "D", "Eb","E", "F","Gb", "G","Ab", "A","Bb", "B"));
    }

    public String transpose(String chord,int inc){

        this.inc = inc;

        String newChord;

        if(chord.contains("/")){
            String[] split = chord.split("/");
            newChord = transposeKey(split[0]) + "/" …
Run Code Online (Sandbox Code Playgroud)

java string replace

5
推荐指数
1
解决办法
127
查看次数

如何在Java正则表达式中获取模式字符串和匹配字符串的列表

第一次使用Regex语句。

我有java regex语句,该语句按模式将String拆分为一些字符列表。

String line = "F01T8B02S00003H04Z05C0.12500";
Pattern pattern = Pattern.compile("([BCFHSTZ])");
String[] commands = pattern.split(line);

for (String command : commands) {
 System.out.print(command);
}
Run Code Online (Sandbox Code Playgroud)

上面代码的输出就像(018020000304050.12500)

其实我想要这样的输出,(“ F”,“ 01”,“ T”,“ 8”,“ B”,“ 02”,“ S”,“ 00003”,“ H”,“ 04”,“ Z “,” 05“,” C“,” 0.12500“)。

表示所需的输出同时包含模式字符和拆分值。

你能建议我吗?

java

5
推荐指数
1
解决办法
82
查看次数

Java与数学表达式分裂

我正在尝试拆分数学表达式.

String number = "100+500";

String[] split = new String[3];
Run Code Online (Sandbox Code Playgroud)

我要实现

  • split [0] ="100"
  • split [1] ="+"
  • split [2] ="500"

我尝试了这个,但我不知道该怎么写分裂.

split = number.split(????);
Run Code Online (Sandbox Code Playgroud)

java math

4
推荐指数
1
解决办法
2877
查看次数

从模式中提取单词

我有String s = "#stack###over##flow".怎么分裂s才有

String[] a = {"#", "stack", "###", "over", "##", "flow}
Run Code Online (Sandbox Code Playgroud)

我试图s.split("(?<=#)|(?=#)")如何分割字符串,但也保持分隔符?但它给了

String[] a = {"#", "stack", "#", "#", "#", "over", "#", "#", "flow}
Run Code Online (Sandbox Code Playgroud)

java regex

4
推荐指数
1
解决办法
67
查看次数

如何用空格分割字符串并在结果中包含空格作为元素?多个空格分割

我用来分割任意数量的空格的字符串的代码是

String out="SELECT * FROM EMP WHERE EMPID=10";
String array[] = out.split("\\s+");
Run Code Online (Sandbox Code Playgroud)

我希望将"out"字符串中的空格包含到array []对象中,同时使用空格分割.我想要的输出是:

array[]={"SELECT","[WHITE SPACE]","*","[WHITE SPACE]","FROM","[WHITE SPACE]","EMP","[WHITE SPACE]","WHERE","[WHITE SPACE]","EMPID=10"}
Run Code Online (Sandbox Code Playgroud)

但我得到的输出是:

 array[]={"SELECT","*","FROM","EMP","WHERE","EMPID=10"}
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激

java regex string string-split

3
推荐指数
1
解决办法
141
查看次数

将字符串拆分为字符串数组Java

我有一个看起来像这样的字符串

The#red#studio#502#4
Run Code Online (Sandbox Code Playgroud)

我需要将它分成数组中的3个不同的字符串

s[0] = "The red studio"
s[1] = "502"
s[2] = "4"
Run Code Online (Sandbox Code Playgroud)

问题是第一个应该只有单词而第二个和第三个应该只有数字......

我试图玩这个s.split()方法,但没有运气.

java regex arrays string split

2
推荐指数
1
解决办法
2万
查看次数

java字符串拆分成数组,如何保存到同一个数组中的字符串?

例如: strEquation="36+5-8X2/2.5"

我的代码是:

String[] tmp = strEquation.split("[X\\+\\-\\/]+");

for(int i=0; i<tmp.length; i++)
    Log.d("Split array",tmp[i]);
Run Code Online (Sandbox Code Playgroud)

和我的输出,我认为它将是:

36
5
8
2
2.5
Run Code Online (Sandbox Code Playgroud)

我希望tmp字符串数组也会放入我正在拆分的字符,如下所示:

tmp[0] = 36
tmp[1] = +
tmp[2] = 5
tmp[3] = -
tmp[4] = 8
tmp[5] = X
tmp[6] = 2
tmp[7] = /
tmp[8] = 2.5
Run Code Online (Sandbox Code Playgroud)

知道怎么做吗?

java arrays string android

2
推荐指数
1
解决办法
2572
查看次数

java split regex:使用大括号之间的任何文本拆分字符串并保留分隔符

由于这里有另一个问题,我几乎得到了我需要的东西,但并不完全.

我试图使用java的String.split()来分解字符串并保持正则表达式分隔符.我的分隔符不是单个字符.例:

hello {world} this is {stack overflow} and this is my string

需要分成如下数组:

hello

{world}

this is

{stack overflow}

and this is my string

我能够匹配{和}之间的所有文本并{[^}]+}使用它来分割字符串.但我真的需要在{和}之间保留文本.

java regex split string-split

1
推荐指数
1
解决办法
6889
查看次数

标签 统计

java ×10

regex ×6

string ×4

arrays ×2

split ×2

string-split ×2

android ×1

math ×1

replace ×1