标签: substring

在python中提取2个字符串之间的子字符串

我有一个带有字符串列的 python 数据框,我想将其分成更多列。

DF 的某些行如下所示:

COLUMN

ORDP//NAME/iwantthispart/REMI/MORE TEXT
/REMI/SOMEMORETEXT
/ORDP//NAME/iwantthispart/ADDR/SOMEADRESS
/BENM//NAME/iwantthispart/REMI/SOMEMORETEXT
Run Code Online (Sandbox Code Playgroud)

所以基本上我想要“/NAME/”之后到下一个“/”的所有内容。然而。并非每一行都有“/NAME/iwantthispart/”字段,如第二行所示。

我尝试过使用 split 函数,但最终得到了错误的结果。

mt['COLUMN'].apply(lambda x: x.split('/NAME/')[-1])
Run Code Online (Sandbox Code Playgroud)

这只是给了我 /NAME/ 部分之后的所有内容,并且在没有 /NAME/ 的情况下,它返回了完整的字符串给我。

有人有一些提示或解决方案吗?非常感谢帮助!(项目符号是为了使其更具可读性,实际上并不在数据中)。

python substring pandas

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

将字符串分割成等长的部分c++

我想迭代地将任意长度的字符串分解为长度 = 80的子字符串,直到最终子字符串的大小小于 80 或 0。假设该字符串不能被 80 整除,因此最终子字符串的长度不一定是 80。我在这里做错了什么?

#include <string>
#include <math.h>

string sub;

for (int i = 0; i < ceil(str.length()/80); i++) {
            if(str.length()/80 >= 1){
                sub = str.substr(i*80, 80);
            }
            if(str.length()/80 == 0){
                 sub = str.substr(i*80, str.length()%80);
            }
            if(sub.length() <= 0){
                 return;
Run Code Online (Sandbox Code Playgroud)

c++ string loops substring

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

每个字符个数为k的子串个数

资料来源:https ://www.geeksforgeeks.org/number-substrings-count-character-k/

给定一个字符串和一个整数 k,找出所有不同字符恰好出现 k 次的子字符串的数量。

使用两个指针/滑动窗口方法寻找 O(n) 的解决方案。我只能找到满足此条件的最长子字符串,但不能找到该长子字符串中的子字符串。

例如:abababa,k = 2
我的解决方案找到 abab、ababba 等,但在 ababba 中找不到 bb。

有人可以帮我理清逻辑吗?

string substring data-structures

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

C++ 的 substr() 到底是如何工作的?

我正在尝试打印字符串的子字符串,但 substr() 函数的行为对我来说似乎很奇怪。

在我的下面的程序中,我试图打印值为“Kamal”的字符串的子字符串。

在这里,substr(0,4) 打印“Kama”,这让我假设 0 是包含的,4 是排除的。但是 substr(1,4) 打印“amal”,这违反了我的上述理解,因为位置 4 中的字符被打印,而在之前的情况下却没有打印。你能解释一下这种奇怪的行为吗?

如果这个问题真的很愚蠢,那么这是我第一次使用 substr()。我在网上搜索过,但似乎找不到任何有用的答案。

#include<iostream>
#include<string>
using namespace std;

int main() {
    string s1 = "Kamal";

    cout << s1.substr(0, 4) << '\n';
    cout << s1.substr(1, 4) << '\n';

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出: 在此输入图像描述

c++ substring

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

R 删除第二个下划线后的字符串

这是一个非常基本的问题,但我找不到明确的答案...如何删除第二个下划线之后的所有内容。谢谢!

Please_remove_this_part
Run Code Online (Sandbox Code Playgroud)

期望的输出:

Please_remove
Run Code Online (Sandbox Code Playgroud)

string substring r

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

双子串

在我的表中,有一列包含两个 ID:

\n

例子:

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
评论
内部消息 ID:7878 外部消息 ID:788CBNCGD9_3_5_87BFHJD
内部消息 ID:90278 外部消息 ID:788H2692029_3_5_8890ZG
\n
\n

我想获得两列:内部 ID 和外部 ID

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
内部ID外部ID
7878第788章 CBNCGD9_3_5_87BFHJD
90278788H2692029_3_5_8890ZG
\n
\n

我\xe2\x80\x99一直在考虑使用子字符串,但我不\xe2\x80\x99不知道如何使用。

\n

有人能帮我吗?

\n

sql sql-server substring

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

“to_string”在字符串数组中如何工作?

我想组合txt文件中每行的前4个字符并将其与我拥有的关键字进行比较,但是当我组合这些字符时,我得到这4个字符的ascii数字的总和(无论如何)。我怎么解决这个问题。我的代码在这里:当我调试时,我看到字符串搜索(变量)是321。

int main() {
    ifstream file("sentence.txt");
    
    if (file.is_open()) {
        string line;
        while (getline(file, line)) {
            string search = to_string(line[0] + line[1] + line[2]); // you see what I mean
            if ("dog" == search) {
                cout << "there is dog";
            }
            else {
                cout << "there is no dog"<<endl;
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c++ string if-statement substring

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

如何使用 Java Sream 找到最长重复子串?

对于学校作业,我必须实现一种方法,该方法将返回字符串中最长的重复子字符串。但我必须仅使用 Stream API 来完成此操作。

这是我到目前为止所做的:

public static String biggestRedundantSubstring(String s) {
    Stream.Builder<String> stringBuilder = Stream.builder();
    while (!Objects.equals(s, "")) {
        stringBuilder.add(s);
        s = s.substring(1);
    }
    return stringBuilder.build().sorted().reduce("",
            (String biggestRedundantSubstring, String matchingPrefix) ->
                    biggestRedundantSubstring.length() > matchingPrefix.length() ?
                            biggestRedundantSubstring : matchingPrefix,
            (String sub1, String sub2) -> {
                String matchingPrefix = "";
                int limitIndex = Math.max(sub1.length(), sub2.length()) - 1;
                for (int i = 0; i < limitIndex; i++) {
                    if (sub1.charAt(i) == sub2.charAt(i)) {
                        matchingPrefix += sub1.charAt(i);
                    } else {
                        break;
                    }
                }       
                return …
Run Code Online (Sandbox Code Playgroud)

java string algorithm substring java-stream

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

KDB+:获取字符串表中所有子字符串的计数

我是 KDB 的新手,正在努力创建查询。将不胜感激任何帮助。

我有一个字符串表,需要获取表中所有字符串中所有特定子字符串的计数。

所以,我们假设我有字符串:

[ 
   string1: Apple is green, cherry is red, 
   string2: Ququmber is green, banana is yellow 
] 
Run Code Online (Sandbox Code Playgroud)

我想计算所有子字符串中“Apple”和“green”的数量。我想要的结果是像这样进行分组:

{ 
   Apple: 1, 
   green: 2 
} 
Run Code Online (Sandbox Code Playgroud)

但不幸的是,我不知道如何进行这样的分组。我已经弄清楚如何获取至少包含一个所需子字符串的字符串:

"select count(text) from data where any text like/: (\"*$Apple*\";\"*$green*\")"
Run Code Online (Sandbox Code Playgroud)

但这返回了所有找到的 Apple 和 green 字符串的累积结果,没有任何分组:

{
    text: 3
}
Run Code Online (Sandbox Code Playgroud)

它不允许区分每个特定子串的数量。

我将非常感谢任何帮助。

select grouping substring count kdb

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

字符前后的字符串

我有这个字符串

x = "Hello   how are    you Peter /"
Run Code Online (Sandbox Code Playgroud)

我只想得到

x = "Peter"
Run Code Online (Sandbox Code Playgroud)

我想找到只提取“you”之后和“/”之前的单词的模式(排除)

我想用类似的东西

x = sub(" you*/.", "", x)
Run Code Online (Sandbox Code Playgroud)

但我不知道如何正确制作图案。

regex substring r

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