How do I use strstr in Swift to search for a string within a string?












0















How do I use strstr in Swift to search for a string within a string? I'm not sure how to use UnsafePointer! in Swift. strstr takes two arguments of both that type and returns a value of that type. Is this C or C++? Can I use C or C++ code in Swift, or could I use strstr in Objective-C and use a bridging header?



When I use this code:



var str1 = "Hello"
var str2 = "ll"

var ptr = strstr(str1, str2)

print(ptr)
print(ptr?.pointee)


I get this result:




Optional(0x00006000039bd762)



Optional(0)











share|improve this question


















  • 6





    Why would you want to do that? There is str1.range(of: str2) in Swift.

    – Martin R
    Nov 23 '18 at 17:51






  • 1





    I wonder if this is an XY problem. Do you really want to use strstr() or is your actual problem how to locate one Swift string within another Swift string?

    – Martin R
    Nov 23 '18 at 18:05








  • 1





    Then the title is misleading, and your question is for example answered here: stackoverflow.com/questions/32305891/….

    – Martin R
    Nov 23 '18 at 18:09








  • 1





    This is indeed an XY problem. If you don't know how to accomplish a task in a new language/OS, ask how to accomplish the task at a high level, not how you would accomplish a specific implementation. If we had simply asked the question you asked you would have gone down the wrong coding path.

    – Duncan C
    Nov 23 '18 at 18:50






  • 2





    The summary: "The XY problem is asking about your attempted solution rather than your actual problem. That is, you are trying to solve problem X, and you think solution Y would work, but instead of asking about X when you run into trouble, you ask about Y."

    – Duncan C
    Nov 24 '18 at 2:09


















0















How do I use strstr in Swift to search for a string within a string? I'm not sure how to use UnsafePointer! in Swift. strstr takes two arguments of both that type and returns a value of that type. Is this C or C++? Can I use C or C++ code in Swift, or could I use strstr in Objective-C and use a bridging header?



When I use this code:



var str1 = "Hello"
var str2 = "ll"

var ptr = strstr(str1, str2)

print(ptr)
print(ptr?.pointee)


I get this result:




Optional(0x00006000039bd762)



Optional(0)











share|improve this question


















  • 6





    Why would you want to do that? There is str1.range(of: str2) in Swift.

    – Martin R
    Nov 23 '18 at 17:51






  • 1





    I wonder if this is an XY problem. Do you really want to use strstr() or is your actual problem how to locate one Swift string within another Swift string?

    – Martin R
    Nov 23 '18 at 18:05








  • 1





    Then the title is misleading, and your question is for example answered here: stackoverflow.com/questions/32305891/….

    – Martin R
    Nov 23 '18 at 18:09








  • 1





    This is indeed an XY problem. If you don't know how to accomplish a task in a new language/OS, ask how to accomplish the task at a high level, not how you would accomplish a specific implementation. If we had simply asked the question you asked you would have gone down the wrong coding path.

    – Duncan C
    Nov 23 '18 at 18:50






  • 2





    The summary: "The XY problem is asking about your attempted solution rather than your actual problem. That is, you are trying to solve problem X, and you think solution Y would work, but instead of asking about X when you run into trouble, you ask about Y."

    – Duncan C
    Nov 24 '18 at 2:09
















0












0








0








How do I use strstr in Swift to search for a string within a string? I'm not sure how to use UnsafePointer! in Swift. strstr takes two arguments of both that type and returns a value of that type. Is this C or C++? Can I use C or C++ code in Swift, or could I use strstr in Objective-C and use a bridging header?



When I use this code:



var str1 = "Hello"
var str2 = "ll"

var ptr = strstr(str1, str2)

print(ptr)
print(ptr?.pointee)


I get this result:




Optional(0x00006000039bd762)



Optional(0)











share|improve this question














How do I use strstr in Swift to search for a string within a string? I'm not sure how to use UnsafePointer! in Swift. strstr takes two arguments of both that type and returns a value of that type. Is this C or C++? Can I use C or C++ code in Swift, or could I use strstr in Objective-C and use a bridging header?



When I use this code:



var str1 = "Hello"
var str2 = "ll"

var ptr = strstr(str1, str2)

print(ptr)
print(ptr?.pointee)


I get this result:




Optional(0x00006000039bd762)



Optional(0)








swift strstr






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 23 '18 at 17:43









Daniel BrowerDaniel Brower

10510




10510








  • 6





    Why would you want to do that? There is str1.range(of: str2) in Swift.

    – Martin R
    Nov 23 '18 at 17:51






  • 1





    I wonder if this is an XY problem. Do you really want to use strstr() or is your actual problem how to locate one Swift string within another Swift string?

    – Martin R
    Nov 23 '18 at 18:05








  • 1





    Then the title is misleading, and your question is for example answered here: stackoverflow.com/questions/32305891/….

    – Martin R
    Nov 23 '18 at 18:09








  • 1





    This is indeed an XY problem. If you don't know how to accomplish a task in a new language/OS, ask how to accomplish the task at a high level, not how you would accomplish a specific implementation. If we had simply asked the question you asked you would have gone down the wrong coding path.

    – Duncan C
    Nov 23 '18 at 18:50






  • 2





    The summary: "The XY problem is asking about your attempted solution rather than your actual problem. That is, you are trying to solve problem X, and you think solution Y would work, but instead of asking about X when you run into trouble, you ask about Y."

    – Duncan C
    Nov 24 '18 at 2:09
















  • 6





    Why would you want to do that? There is str1.range(of: str2) in Swift.

    – Martin R
    Nov 23 '18 at 17:51






  • 1





    I wonder if this is an XY problem. Do you really want to use strstr() or is your actual problem how to locate one Swift string within another Swift string?

    – Martin R
    Nov 23 '18 at 18:05








  • 1





    Then the title is misleading, and your question is for example answered here: stackoverflow.com/questions/32305891/….

    – Martin R
    Nov 23 '18 at 18:09








  • 1





    This is indeed an XY problem. If you don't know how to accomplish a task in a new language/OS, ask how to accomplish the task at a high level, not how you would accomplish a specific implementation. If we had simply asked the question you asked you would have gone down the wrong coding path.

    – Duncan C
    Nov 23 '18 at 18:50






  • 2





    The summary: "The XY problem is asking about your attempted solution rather than your actual problem. That is, you are trying to solve problem X, and you think solution Y would work, but instead of asking about X when you run into trouble, you ask about Y."

    – Duncan C
    Nov 24 '18 at 2:09










6




6





Why would you want to do that? There is str1.range(of: str2) in Swift.

– Martin R
Nov 23 '18 at 17:51





Why would you want to do that? There is str1.range(of: str2) in Swift.

– Martin R
Nov 23 '18 at 17:51




1




1





I wonder if this is an XY problem. Do you really want to use strstr() or is your actual problem how to locate one Swift string within another Swift string?

– Martin R
Nov 23 '18 at 18:05







I wonder if this is an XY problem. Do you really want to use strstr() or is your actual problem how to locate one Swift string within another Swift string?

– Martin R
Nov 23 '18 at 18:05






1




1





Then the title is misleading, and your question is for example answered here: stackoverflow.com/questions/32305891/….

– Martin R
Nov 23 '18 at 18:09







Then the title is misleading, and your question is for example answered here: stackoverflow.com/questions/32305891/….

– Martin R
Nov 23 '18 at 18:09






1




1





This is indeed an XY problem. If you don't know how to accomplish a task in a new language/OS, ask how to accomplish the task at a high level, not how you would accomplish a specific implementation. If we had simply asked the question you asked you would have gone down the wrong coding path.

– Duncan C
Nov 23 '18 at 18:50





This is indeed an XY problem. If you don't know how to accomplish a task in a new language/OS, ask how to accomplish the task at a high level, not how you would accomplish a specific implementation. If we had simply asked the question you asked you would have gone down the wrong coding path.

– Duncan C
Nov 23 '18 at 18:50




2




2





The summary: "The XY problem is asking about your attempted solution rather than your actual problem. That is, you are trying to solve problem X, and you think solution Y would work, but instead of asking about X when you run into trouble, you ask about Y."

– Duncan C
Nov 24 '18 at 2:09







The summary: "The XY problem is asking about your attempted solution rather than your actual problem. That is, you are trying to solve problem X, and you think solution Y would work, but instead of asking about X when you run into trouble, you ask about Y."

– Duncan C
Nov 24 '18 at 2:09














1 Answer
1






active

oldest

votes


















3














Swift is a very powerful language. Try out some of its higher level features.
Try putting this in playground.



var word = "Hello"
print(String(format: "Word: %@", word))
let range = word.range(of: "ll")!
print(String(format: "Lower Bound: %d", range.lowerBound.encodedOffset))
print(String(format: "Upper Bound: %d", range.upperBound.encodedOffset))

word = word.replacingOccurrences(of: "ll", with: "")
print(String(format: "Word after replacement: %@", word))

for (i, c) in word.enumerated() {
print(String(format: "Index: %d, Character: %@", i, String(c)))
}





share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53451015%2fhow-do-i-use-strstr-in-swift-to-search-for-a-string-within-a-string%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    3














    Swift is a very powerful language. Try out some of its higher level features.
    Try putting this in playground.



    var word = "Hello"
    print(String(format: "Word: %@", word))
    let range = word.range(of: "ll")!
    print(String(format: "Lower Bound: %d", range.lowerBound.encodedOffset))
    print(String(format: "Upper Bound: %d", range.upperBound.encodedOffset))

    word = word.replacingOccurrences(of: "ll", with: "")
    print(String(format: "Word after replacement: %@", word))

    for (i, c) in word.enumerated() {
    print(String(format: "Index: %d, Character: %@", i, String(c)))
    }





    share|improve this answer




























      3














      Swift is a very powerful language. Try out some of its higher level features.
      Try putting this in playground.



      var word = "Hello"
      print(String(format: "Word: %@", word))
      let range = word.range(of: "ll")!
      print(String(format: "Lower Bound: %d", range.lowerBound.encodedOffset))
      print(String(format: "Upper Bound: %d", range.upperBound.encodedOffset))

      word = word.replacingOccurrences(of: "ll", with: "")
      print(String(format: "Word after replacement: %@", word))

      for (i, c) in word.enumerated() {
      print(String(format: "Index: %d, Character: %@", i, String(c)))
      }





      share|improve this answer


























        3












        3








        3







        Swift is a very powerful language. Try out some of its higher level features.
        Try putting this in playground.



        var word = "Hello"
        print(String(format: "Word: %@", word))
        let range = word.range(of: "ll")!
        print(String(format: "Lower Bound: %d", range.lowerBound.encodedOffset))
        print(String(format: "Upper Bound: %d", range.upperBound.encodedOffset))

        word = word.replacingOccurrences(of: "ll", with: "")
        print(String(format: "Word after replacement: %@", word))

        for (i, c) in word.enumerated() {
        print(String(format: "Index: %d, Character: %@", i, String(c)))
        }





        share|improve this answer













        Swift is a very powerful language. Try out some of its higher level features.
        Try putting this in playground.



        var word = "Hello"
        print(String(format: "Word: %@", word))
        let range = word.range(of: "ll")!
        print(String(format: "Lower Bound: %d", range.lowerBound.encodedOffset))
        print(String(format: "Upper Bound: %d", range.upperBound.encodedOffset))

        word = word.replacingOccurrences(of: "ll", with: "")
        print(String(format: "Word after replacement: %@", word))

        for (i, c) in word.enumerated() {
        print(String(format: "Index: %d, Character: %@", i, String(c)))
        }






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 23 '18 at 17:55









        SethmrSethmr

        1,79311332




        1,79311332
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53451015%2fhow-do-i-use-strstr-in-swift-to-search-for-a-string-within-a-string%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            To store a contact into the json file from server.js file using a class in NodeJS

            Redirect URL with Chrome Remote Debugging Android Devices

            Dieringhausen