标签: split

使用String.split()提取单词对

鉴于:

String input = "one two three four five six seven";
Run Code Online (Sandbox Code Playgroud)

是否有一个正则表达式,一次String.split()抓取(最多)两个单词,这样:

String[] pairs = input.split("some regex");
System.out.println(Arrays.toString(pairs));
Run Code Online (Sandbox Code Playgroud)

结果如下:

[one two, three four, five six, seven]
Run Code Online (Sandbox Code Playgroud)

这个问题是关于分裂正则表达式.它不是 "找到一种解决方法"或其他"使其以另一种方式工作"的解决方案.

java regex string split

55
推荐指数
2
解决办法
7328
查看次数

由多个分隔符拆分字符串

我想用空格分割字符串,,并'使用单个ruby命令.

  1. word.split 将被白色空间分开;

  2. word.split(",")将分裂,;

  3. word.split("\'")将分裂'.

如何一次完成这三个?

ruby string split

55
推荐指数
4
解决办法
5万
查看次数

标记错误:java.util.regex.PatternSyntaxException,悬空元字符'*'

我正在使用以下格式split()标记分隔的字符串*:

name*lastName*ID*school*age
%
name*lastName*ID*school*age
%
name*lastName*ID*school*age
Run Code Online (Sandbox Code Playgroud)

我正在使用以下代码从名为"entrada.al"的文件中读取此内容:

static void leer() {

    try {
        String ruta="entrada.al";
        File myFile = new File (ruta);
        FileReader fileReader = new FileReader(myFile);

        BufferedReader reader = new BufferedReader(fileReader);

        String line = null;

        while ((line=reader.readLine())!=null){
            if (!(line.equals("%"))){
                String [] separado = line.split("*"); //SPLIT CALL
                names.add(separado[0]);
                lastNames.add(separado[1]);
                ids.add(separado[2]);
                ages.add(separado[3]);
            }
        }

        reader.close();
    }
Run Code Online (Sandbox Code Playgroud)

我得到了这个例外:

线程"main"中的异常java.util.regex.PatternSyntaxException:在索引0*附近悬挂元字符'*'

我的猜测是*原始文本文件中缺少一个年龄后导致了这种情况.我该如何解决这个问题?

java regex split tokenize

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

将连续变量分成相等大小的组

我需要将连续变量拆分/分成3个相等大小的组.

示例数据框

das <- data.frame(anim=1:15,
                  wt=c(181,179,180.5,201,201.5,245,246.4,
                       189.3,301,354,369,205,199,394,231.3))
Run Code Online (Sandbox Code Playgroud)

在被剪切后(根据值wt),我需要在新变量下面有3个类,wt2如下所示:

> das 
   anim    wt wt2
1     1 181.0   1
2     2 179.0   1
3     3 180.5   1
4     4 201.0   2
5     5 201.5   2
6     6 245.0   2
7     7 246.4   3
8     8 189.3   1
9     9 301.0   3
10   10 354.0   3
11   11 369.0   3
12   12 205.0   2
13   13 199.0   1
14   14 394.0   3
15   15 231.3   2
Run Code Online (Sandbox Code Playgroud)

这将应用于大型数据集

variables split r continuous

53
推荐指数
7
解决办法
10万
查看次数

拆分不同的换行符

现在我正在做一个split字符串,并假设用户的换行符是\r\n这样的:

string.split(/\r\n/)
Run Code Online (Sandbox Code Playgroud)

我想做的就是分裂\r\n或者只是分开\n.

那么正则表达式将如何拆分其中任何一个?

ruby regex split newline

51
推荐指数
4
解决办法
3万
查看次数

使用C++ 11拆分字符串

使用c ++ 11拆分字符串最简单的方法是什么?

我已经看过这篇文章所使用的方法,但我觉得使用新标准应该采用一种不那么冗长的方式.

编辑:我希望得到一个vector<string>结果,并能够划分单个字符.

c++ string split c++11

51
推荐指数
5
解决办法
9万
查看次数

使用String.split()将带引号的csv文件拆分为文本分隔符

我有一个逗号分隔文件,其中许多行类似于下面的一行.

Sachin,,M,"Maths,Science,English",Need to improve in these subjects.
Run Code Online (Sandbox Code Playgroud)

引号用于转义用于表示多个值的分隔符逗号.

现在如何使用String.split()if来分割逗号分隔符上的上述值?

java csv split

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

Pandas按列值拆分DataFrame

我有DataFrame专栏Sales.

如何根据Sales价值将其拆分为2 ?

首先DataFrame是数据,'Sales' < s第二个是'Sales' >= s

python indexing split dataframe pandas

51
推荐指数
5
解决办法
8万
查看次数

Pythonic方法将列表分成第一个并休息?

我认为在Python 3中我将能够做到:

first, *rest = l
Run Code Online (Sandbox Code Playgroud)

这正是我想要的,但我正在使用2.6.现在我正在做:

first = l[0]
rest = l[1:]
Run Code Online (Sandbox Code Playgroud)

这很好,但我只是想知道是否有更优雅的东西.

python split list

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

c ++ boost split string

我正在使用该boost::split方法拆分字符串,如下所示:

我首先确保包含正确的标题以访问boost::split:

#include <boost/algorithm/string.hpp>
Run Code Online (Sandbox Code Playgroud)

然后:

vector<string> strs;
boost::split(strs,line,boost::is_any_of("\t"));
Run Code Online (Sandbox Code Playgroud)

这条线就像

"test   test2   test3"
Run Code Online (Sandbox Code Playgroud)

这是我使用结果字符串向量的方式:

void printstrs(vector<string> strs)
{
    for(vector<string>::iterator it = strs.begin();it!=strs.end();++it)
    {
        cout << *it << "-------";
    }

    cout << endl;
}
Run Code Online (Sandbox Code Playgroud)

但是为什么在结果中strs我只得到,"test2"而且"test3"不应该"test","test2"并且"test3",\t字符串中有(tab).

2011年4月24日更新:在我更改了一行代码后,printstrs我可以看到第一个字符串.我变了

cout << *it << "-------";
Run Code Online (Sandbox Code Playgroud)

至

cout << *it << endl;
Run Code Online (Sandbox Code Playgroud)

它似乎"-------"以某种方式覆盖了第一根弦.

c++ boost split

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

标签 统计

split ×10

java ×3

regex ×3

string ×3

c++ ×2

python ×2

ruby ×2

boost ×1

c++11 ×1

continuous ×1

csv ×1

dataframe ×1

indexing ×1

list ×1

newline ×1

pandas ×1

r ×1

tokenize ×1

variables ×1