标签: string-split

分离字符串的最有效方法

我有这个字符串:

"B82V16814133260"

什么是从中获取两个字符串的最有效方法:

left part String:"B82V"rigth part string:"16814133260"

规则是这样的:取右边的所有数字并从中创建字符串,然后取出提醒并将其放入另一个字符串中.

这是我的解决方案,但它太笨重了!如何做到简短有效?

        String leftString = "";
        String rightString="";

        foreach (char A in textBox13.Text.Reverse())
        {
            if (Char.IsNumber(A))
            {
                rightString += A;
            }
            else
            {
                break;
            }
        }

        char[] arr = rightString.ToArray();
        Array.Reverse(arr);

        rightString=new string(arr);
        leftString = textBox13.Text.Replace(rightString, "");
Run Code Online (Sandbox Code Playgroud)

c# string optimization split string-split

7
推荐指数
2
解决办法
339
查看次数

对包含空标记的String进行标记

我有一个看似简单的问题,即将逗号分隔String为标记,在以下情况下输出应包含空标记:

  • String逗号中的第一个字符是逗号.
  • 最后一个字符String是逗号.
  • 连续两个逗号出现.

例如,对于String:",abd,def,,ghi,"应该产生输出:{"", "abd", "def", "", "ghi", ""}.

我已经尝试使用String.split,Scanner并且StringTokenizer对于这一点,但每个给出不同的不希望的输出(下文实施例).有人可以建议一个优雅的解决方案,最好使用JDK类吗?显然我可以自己编写代码,但我觉得我错过了上述三种方法之一.请注意,分隔符是固定的,String但不一定是逗号,也不是单个字符.

示例代码

import java.util.*;

public class Main12 {
  public static void main(String[] args) {
    String s = ",abd,def,,ghi,";
    String[] tokens = s.split(",");

    System.err.println("--- String.split Output ---");
    System.err.println(String.format("%s -> %s", s, Arrays.asList(tokens)));

    for (int i=0; i<tokens.length; ++i) {
      System.err.println(String.format("tokens[%d] = %s", i, tokens[i]));
    }

    System.err.println("--- Scanner Output ---");

    Scanner sc …
Run Code Online (Sandbox Code Playgroud)

java string string-split stringtokenizer java.util.scanner

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

换行将字符串拆分成多个字符串?

我有传入的数据,需要分成多个值...即.

2345 \n564532 \n345634 \n234 234543 \n1324 2435 \n

当我收到它时,长度是不一致的,当它存在时间距是不一致的,我想分析每个\n之前的最后3位数.如何断开字符串并将其转换为新字符串?就像我说的,这一轮,它可能有3个\n命令,下一次,它可能有10个,我如何创建3个新字符串,分析它们,然后在接下来的10个进入之前销毁它们?

string[] result = x.Split('\r');
result = x.Split(splitAtReturn, StringSplitOptions.None);
string stringToAnalyze = null;

foreach (string s in result)
{
    if (s != "\r")
    {
        stringToAnalyze += s;
    }
    else
    {

          how do i analyze the characters here?
    }
}
Run Code Online (Sandbox Code Playgroud)

c# string newline string-split

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

将字符向量拆分为单个字符?(与paste或stringr :: str_c相反)

R中一个令人难以置信的基本问题但解决方案尚不清楚.

如何将一个字符向量分成单独的字符,即与paste(..., sep='')或相反stringr::str_c()

比这更笨重的东西:

sapply(1:26, function(i) { substr("ABCDEFGHIJKLMNOPQRSTUVWXYZ",i,i) } )
"A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z"
Run Code Online (Sandbox Code Playgroud)

是否可以以其他方式完成,例如strsplit(),stringr::*或其他任何事情?

string r paste string-split stringr

7
推荐指数
2
解决办法
2163
查看次数

更改字符时拆分字符串

我正在尝试创建一个在所有"不同字符之间有空格的字符串,例如:

"11131221133112" should result in "111 3 1 22 11 33 11 2"
"1321131112" should result in "1 3 2 11 3 111 2"
Run Code Online (Sandbox Code Playgroud)

我尝试使用递归函数,不知道这是否是最好的方法因为我在PHP中找不到任何内置函数.这是我的功能:

function stringSplitter($str) {
    $strArr = str_split($str);

    foreach ($strArr as $key => $value) {
        if ($key == count($strArr)-1) return (substr($str, 0));

        if ($value != $strArr[$key+1]) {
            return (substr($str, 0, $key+1)." ".stringSplitter(substr($str, $key)));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

出于某种原因,这个函数似乎无限迭代,我无法弄清楚为什么.我哪里出错了?

有一个更好的方法吗?我想使用explode来解决数组中的应答字符串,这可以直接完成吗?

php regex recursion string-split

7
推荐指数
2
解决办法
580
查看次数

货币值字符串由逗号分隔

我有一个字符串,其中包含格式化的货币值,45,890.00以及由逗号分隔的多个值45,890.00,12,345.00,23,765.34,56,908.50.

我想提取并处理所有货币值,但无法找出正确的正则表达式,这就是我所尝试的

public static void main(String[] args) {
    String currencyValues = "45,890.00,12,345.00,23,765.34,56,908.50";
    String regEx = "\\.[0-9]{2}[,]";
    String[] results = currencyValues.split(regEx);
    //System.out.println(Arrays.toString(results));
    for(String res : results) {
        System.out.println(res);
    }
}
Run Code Online (Sandbox Code Playgroud)

这个输出是:

45,890 //removing the decimals as the reg ex is exclusive
12,345
23,765
56,908.50
Run Code Online (Sandbox Code Playgroud)

有人可以帮我这个吗?

java string-split

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

如何在不折叠空格的情况下在 bash 脚本中拆分制表符分隔的字符串?

我有我的字符串,$LINE我想$ITEMS成为它的数组版本,在单个选项卡上拆分并保留空白。这是我现在所处的位置:

IFS=$'\n' ITEMS=($(echo "$LINE" | tr "\t" "\n"))
Run Code Online (Sandbox Code Playgroud)

这里的问题IFS是一个或多个,所以它吞噬了换行符、标签等。我已经根据此处发布的其他问题尝试了其他一些方法,但他们认为所有字段中总会有一个值,永远不会为空。而那个似乎掌握关键的人远远超出了我并且对整个文件进行了操作(我只是拆分了一个字符串)。

我的偏好是纯 BASH 解决方案。

bash tab-delimited string-split

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

将字符串拆分为给定长度的子字符串,其余为余数

给出如下字符串:

text <- "abcdefghijklmnopqrstuvwxyz"
Run Code Online (Sandbox Code Playgroud)

我想将字符串切成子串,例如长度为10,并保留余数:

"abcdefghij"
"klmnopqrst"
"uvwxyz"
Run Code Online (Sandbox Code Playgroud)

我知道用于创建子字符串的所有方法都不会给我带有6个字符的余数子字符串.我尝试过以前类似问题的答案,例如:

> substring(text, seq(1, nchar(text), 10), seq(10, nchar(text), 10))
[1] "abcdefghij" "klmnopqrst" ""  
Run Code Online (Sandbox Code Playgroud)

关于如何获得所需长度和任何剩余字符串的所有子串的任何建议都将非常感激.

string substring r string-split

6
推荐指数
2
解决办法
231
查看次数

如何使用.Split()在空行上拆分字符串?

对于类项目,我必须将文本文件加载到链接列表中.到目前为止,我已经能够从文件中读取,但我正在努力将其拆分为多个部分,以便我可以将其放入链接列表中.

例如,我想在空行处拆分这些项目:

David
Hunter
No1
Admin

约翰
史密斯
No11
销售

Jane
Appleby
No5
账户

我试过String[] people = record.Split('\n');但当然,这只是在每一行都分开了.

我也尝试过:
String[] people = record.Split('\n\r');
String[] people = record.Split('\r\n');
String[] people = record.Split('\n\n');
但是由于"字符文字中的字符过多"而无法编译

任何人都可以建议一种方法来做到这一点(最好没有正则表达式)?

c# split string-split

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

Java在逗号(,)上拆分字符串,但在括号()之间除外

我想在逗号(,)上用java分割字符串,但只要逗号(,)在某个括号之间,就不应该拆分.

例如,字符串:

"life, would, (last , if ), all"
Run Code Online (Sandbox Code Playgroud)

应该产量:

-life
-would
-(last , if )
-all
Run Code Online (Sandbox Code Playgroud)

我用的时候:

String text = "life, would, (last , if ), all"
text.split(",");
Run Code Online (Sandbox Code Playgroud)

我最终将整个文本划分为(最后,如果)我可以看到拆分需要一个正则表达式,但我似乎无法想到如何使它完成工作.

java regex split string-split

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